Размер шрифта кнопки Android

Я пытаюсь создать пользовательскую кнопку в android, используя этот учебник – http://www.gersic.com/blog.php?id=56

Он работает хорошо, но он не говорит, как изменить размер шрифта или вес. Есть идеи?

Здесь был еще один вопрос, и единственным ответом было использование html-стиля, но вы не можете изменить размер шрифта в html без использования css (или устаревшего тега шрифта). Должен быть лучший способ установить размер пикселя шрифта, используемого на кнопках?

Вы определяете эти атрибуты в xml, как и вы, например:

<Button android:id="@+id/next_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/next" android:background="@drawable/mybutton_background" android:textSize="10sp" /> <!-- Use SP(Scale Independent Pixel) --> 

Вы можете найти разрешенные атрибуты в api .

Или, если вы хотите, чтобы это применимо ко всем кнопкам в приложении, создайте стиль. См. Документацию по разработке стилей и тем .

 Button butt= new Button(_context); butt.setTextAppearance(_context, R.style.ButtonFontStyle); 

И в res / values ​​/ style.xml

 <resources> <style name="ButtonFontStyle"> <item name="android:textSize">12sp</item> </style> </resources> 

Программный:

 Button bt = new Button(this); bt.setTextSize(12); 

В xml:

 <Button android:textSize="10sp" /> 

Я попытался поместить размер шрифта в styles.xml, но когда я пошел использовать его, он разрешил только ресурсы из папки dimen, поэтому поставил его там вместо этого, не знаю, что это правильно

  <Button android:layout_weight="1" android:id="@+id/three_btn" android:layout_height="match_parent" android:layout_width="0dp" android:onClick="onButtonClick" android:textColor="#EEEEEE" android:textStyle="bold" android:textSize="@dimen/buttonFontSize" android:text="3"/> 
 <resource> <style name="button"> <item name="android:textSize">15dp</item> </style> <resource> 

Другой программный подход;

 final Button btn = (Button) findViewById(R.id.btnSize); final float[] size = {12}; btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { size[0] +=2; btn.setTextSize(size[0] +2); } }); 

Каждый раз, когда вы нажимаете кнопку, текст кнопки изменяется (размер + 2px). Вы можете добавить еще одну кнопку и изменить размер -2px тоже. Если вы хотите сохранить размер для других открытий, вы можете использовать интерфейс общих предпочтений .