Atom Blog

Mostrando las entradas con la etiqueta textview. Mostrar todas las entradas
Mostrando las entradas con la etiqueta textview. Mostrar todas las entradas

Como cambiar el tipo de letra (fuente) en una aplicacion movil para Android en Android Studio



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>



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

Como habilitar los eventos de click o Click Listener de un Button, TextView o EditText en Android



En nuestras aplicaciones moviles es muy comun utilizar botones o campos de texto que permiten mostrar e ingresar datos para hacer mas interactiva la aplicacion.

Los eventos desencadenados al presionar o hacer click sobre alguno de estos componentes son manejados desde la logica de la aplicacion, es decir desde los archivos .java.

A continuacion mostraremos un boton, un editText y un textView con sus respectivos eventos click o Click Listeners.

Primero definimos los componentes de la aplicacion en la interfaz de usuario, es decir en los archivos .xml. En este caso definiremos el archivo 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>

Ahora en la clase que controladora de esta interfaz colocaremos el siguiente codigo dentro del evento onCreate():

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

       nameButton =.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                //CODE EVENTO CLICK
            }
       });

       nameTextView.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                //CODE EVENTO CLICK
            }
        });

        nameEditText.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                //CODE EVENTO CLICK
            }
        });

}


Listo!! ahora podremos ejecutar cualquier codigo al presionar algun componente sobre la interfaz de usuario de Android.