2012-02-22 14 views
5

Soy un principiante en Android. Puedo cambiar el tipo de letra de una vista de texto en Android. Pero tengo que usar el archivo .ttf en el activo carpeta, para traer este tipo de cambio de fuente.puede cambiar el tipo de fuente de un Edittext, botón de radio y CheckBox en Android

TextView text = (TextView) layout.findViewById(R.id.text); 
text.setText(msg); 
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/handsean.ttf"); 
text.setTypeface(font); 

El código anterior es lo que he usado para cambiar la fuente de un texto View.but Necesito cambiar el tipo de letra del texto del botón de radio, EDITTEXT y rectángulo de verificación (que Im también se utiliza en mi solicitud) también. Me ayuda aquí. Gracias de antemano.

+0

supongo, usted tiene que utilizar el mismo código para los otros puntos de vista también. ¿Has intentado usar el código para EditText, etc.? – noob

+0

Sí, también tiene que usar el mismo código para el texto de edición. – AndoAiron

Respuesta

6

Si usted tiene que seguir el mismo código WHT u han mencionado here.This va a trabajar para otros controles también como EDITTEXT, etc. CheckBox

+2

¿dónde está el código? –

0

Sí, el mismo enfoque funciona para botones y botones de radio también.
También se puede hacer esto en pasos simples de la siguiente manera

Button moreBtn = (Button) events.findViewById(R.id.promotion_event_more_btn); 
FontUtils.setTypeface(this, moreBtn, Constants.C_FONT);</code><br>Where "Constants.C_FONT" is set to the path of the font file present in the assets folder. 
0

puede hacerlo por lo que en el archivo .xml, así

puede utilizar proertiees hacerlo

android:textSize="20dp" 
    android:textStyle="bold" 
    android:textColor="any color" 
    android:textAppearance="any appearencde" 

puede utilizar éstos con botones, checboxes etc.

usted puede hacer por el código también

3

La respuesta seleccionada faltaba el código, así que aquí está:

EditarTexto

EditText editText = (EditText) layout.findViewById(R.id.edittext); 
editText.setText(msg); 
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf"); 
editText.setTypeface(font); 

RadioButton

RadioButton radioButton = (RadioButton) layout.findViewById(R.id.radiobutton); 
radioButton.setText(msg); 
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/myfont.ttf"); 
radioButton.setTypeface(font); 

CheckBox

CheckBox checkBox = (CheckBox) layout.findViewById(R.id.checkbox); 
checkBox.setText(msg); 
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf"); 
checkBox.setTypeface(font); 

Vistas múltiples

Si necesita hacer esto para múltiples vistas a través de su aplicación, entonces puede ser más fácil hacer una subclase de su EditText, RadioButton o CheckBox. Esta subclase establece la fuente. A continuación se muestra un ejemplo para CheckBox.

public class MyCheckBox extends CheckBox { 

    // Constructors 
    public MyCheckBox(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     init(); 
    } 
    public MyCheckBox(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
    } 
    public MyCheckBox(Context context) { 
     super(context); 
     init(); 
    } 

    // This class requires myfont.ttf to be in the assets/fonts folder 
    private void init() { 
     Typeface tf = Typeface.createFromAsset(getContext().getAssets(), 
       "fonts/myfont.ttf"); 
     setTypeface(tf); 
    } 
} 

Puede ser utilizado en XML de la siguiente manera:

<com.example.projectname.MyCheckBox 
    android:id="@+id/checkbox" 
    android:text="@string/msg" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:checked="true"/> 
Cuestiones relacionadas