2010-05-13 21 views
28

I; han estado tratando de crear un botón personalizado en Android usando este tutorial - http://www.gersic.com/blog.php?id=56Android tamaño del botón de fuente

Funciona bien, pero no dice cómo cambiar el tamaño de fuente o ponderación. ¿Algunas ideas?

Hubo otra pregunta aquí y la única respuesta fue utilizar el estilo html pero no puede cambiar el tamaño de una fuente en html sin usar css (o la etiqueta de fuente obsoleta). Debe haber una mejor manera de establecer el tamaño de píxel de la fuente utilizada en los botones?

+0

Consulte el ejemplo de trabajo http://javatechig.com/2013/03/19/using-external-fonts-in-android-view/ –

Respuesta

83

te definen estos atributos en XML como lo haría con cualquier otra cosa, por ejemplo:

<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) --> 

Usted puede encontrar los atributos permitidos en la api.

O, si desea que esto se aplique a todos los botones en su aplicación, cree un estilo. Consulte la documentación de desarrollo Styles and Themes.

+11

¿No debería configurarse texto en SP no DP? Consulte http://stackoverflow.com/questions/2025282/difference-of-px-dp-dip-and-sp-in-android –

+1

Utilice SP en lugar de DP –

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

y en res/valores/style.xml

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

programación:

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

En xml:

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

Traté de poner el tamaño de fuente en el archivo styles.xml pero cuando fui a usarlo solo me permitía ing recursos de la carpeta de corte de pe a fin de poner en su lugar allí, no sé que esto es correcto

 <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"/> 
0
<resource> 
<style name="button"> 
<item name="android:textSize">15dp</item> 
</style> 
<resource> 
0

Otra programación acercarse;

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); 
      } 
     }); 

Cada vez que se pulsa el botón, el texto del botón será el cambio (+ tamaño de 2px). Puede agregar otro botón y cambiar el tamaño -2px también. Si desea guardar el tamaño para otras aperturas, puede usar Preferencia compartida interfaz.

Cuestiones relacionadas