En este post mostraremos como cambiar el tipo de fuente o tipo de letra de los Botones, EditText y TextView en una aplicacion movil en Android desde Android Studio. Esto es necesario cuando queremos crear una aplicacion movil personalizada y dar un toque unico.
Primero descargamos los tipos de fuentes que queramos utilizar en nuestra aplicacion movil en formato .tff. Yo los descargo de: https://fonts.google.com/ y los colocamos dentro de la carpeta "fonts" (si no existe la creamos) dentro de "assets" en la ruta de la aplicacion. Quedando de la siguiente manera: "main/assets/fonts".
Para este ejemplo definimos el archivo de interfaz de usuario prueba.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@color/white">
<Button
android:id="@+id/boton_prueba"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Boton de prueba"
android:textSize="24sp"
/>
<EditText
android:id="@+id/edit_text_prueba"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="EditText de prueba"
android:textSize="24sp"
/>
<TextView
android:id="@+id/text_view_prueba"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView de prueba"
android:textSize="24sp"
/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@color/white">
<Button
android:id="@+id/boton_prueba"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Boton de prueba"
android:textSize="24sp"
/>
<EditText
android:id="@+id/edit_text_prueba"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="EditText de prueba"
android:textSize="24sp"
/>
<TextView
android:id="@+id/text_view_prueba"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView de prueba"
android:textSize="24sp"
/>
</LinearLayout>
Luego, dentro del metodo onCreate() instanciamos los tipos de fuente agregados a la carpeta "fonts" previamente con la Clase "Typeface" y los definimos o seteamos para cada uno de los componentes del archivo prueba.xml definido anteriormente.
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.prueba);
Button nameButton = (Button) findViewById(R.id.boton_prueba);
TextView nameTextView = (TextView) findViewById(R.id.text_view_prueba);
EditText nameEditText = (EditText) findViewById(R.id.edit_text_prueba);
Typeface face = Typeface.createFromAsset(getAssets(), "fonts/JosefinSans-Regular.ttf");
Typeface faceBold = Typeface.createFromAsset(getAssets(), "fonts/JosefinSans-Bold.ttf");
Typeface faceSemiBold = Typeface.createFromAsset(getAssets(), "fonts/JosefinSans-SemiBold.ttf");
nameButton.setTypeface(face);
nameTextView.setTypeface(face);
nameEditText.setTypeface(face);
}