domingo, 7 de agosto de 2011

Elementos básicos del interface de usuario – TextView - Basic elements of the user interface


En los ejemplos vistos hasta ahora, siempre hemos utilizado Layouts de distintas clases y como elemento hijo un TextView o etiqueta. Como ya sabeis sirve para mostrar un texto por pantalla.
Su definición en un fichero xml es muy sencilla:
<TextView 
    android:id="@+id/TxtView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/TxtView1"
    />

Si queremos manipular el contenido desde nuestro código java no debemos olvidar incluir el atributo id puesto que es la única manera de hacer referencia a cualquier dato de la vista activa:
public class AndroideNovatoActivity extends Activity {
    /** Called when the activity is first created. */
   
    // Definimos una variable tipo TextView
      TextView txtView1;

      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Localizamos TxtView1 por su id
        txtView1 = (TextView) findViewById (R.id.TxtView1);
        // Le asignamos un texto alternativo
        txtView1.setText("Texto alternativo");
       
     }
}
Ya hemos comentado la importancia de asignar los textos de nuestro proyecto basandonos siempre en el fichero strings.xml, sobre todo si pretendemos que la aplicación sea multi idioma. Pues bien, para mantener esa premisa, desde Java debemos tener acceso a dicho fichero:

Fichero strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="TxtView1">Texto original de TextView</string>
    <string name="TxtView2">Texto alternativo de TextView</string>
    <string name="app_name">Hola Androide Novato</string>
</resources>

Fuente fichero java:
public class AndroideNovatoActivity extends Activity {
    /** Called when the activity is first created. */
   
    // Definimos una variable tipo TextView
      TextView txtView1;
    // Definimos una variable tipo String
      String string1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Localizamos TxtView1 por su id
        txtView1 = (TextView) findViewById (R.id.TxtView1);
        // Localizamos el texto alternativo del fichero strings
        string1 = getString(R.string.TxtView2);
        // Asignamos el texto alternativo al TextView
        txtView1.setText(string1);
       
    }
} 
Vemos cómo cargamos en una variable String la cadena a mostrar y posteriormente la asignamos a la etiqueta con el método setText(string). La asignación podía haberse hecho directamente mediante: 
txtView1.setText(R.string.TxtView2);

 
Tambien podemos cambiar la fuente del texto como vimos en la entrada correspondiente de este blog e incluso el tamaño de la letra utilizando los métodos getTextSize y setTextSize como vemos:
// Leemos el tamaño actual del texto
float textSize = txtView1.getTextSize();
// Lo aumentamos en 10 unidades
txtView1.setTextSize(textSize+10);

 
El color del texto o el fondo con setTextColor y setBackgroundColor:
// Le cambiamos el color del texto
txtView1.setTextColor(Color.BLUE);
// Y el color del fondo
txtView1.setBackgroundColor(Color.GREEN);

 
El estilo del texto (bold, italic…) con setTypeface
// Cambiamos estilo del texto
txtView1.setTypeface(null, Typeface.BOLD);

 

Bueno, podeis ir probando todos los posibles atributos en xml o bien sus métodos asociados en java consultando como siempre la página de referencia de android developer.

Hasta la próxima.



No hay comentarios:

Publicar un comentario