Escolar Documentos
Profissional Documentos
Cultura Documentos
Android Studio
James Revelo septiembre 6, 2014 Fundamentos, UI 4 Comments
En este artculo veremos que son Layouts y Views para el diseo de la
interfaz de usuario (UI) de una aplicacin Android.
Crearemos una pequea aplicacin paso a paso para comprender como
definir nuestros diseos, relacionarlos con el cdigo Java y manejar
eventos disparados por el usuario al interactuar con la interfaz.
QU ES UN LAYOUT?
Un layout es un objeto que representa el espacio contenedor de todas
las vistas (Views) dentro de la actividad. En l se define la estructura y el
orden de los elementos para que el usuario pueda interactuar con la
interfaz. Lgicamente se representan con subclases Java que heredan de
la clase ViewGroup.
Para definirlos escribiremos un documento XML que contenga como
nodo raz algn tipo de layout y luego incluir en su interior los elementos
hijos. Android Studio permite generar automticamente el cdigo de
los archivos XML a travs del panel de Diseo.
INFLAR
CDIGO
JAVA
APLICACIONES ANDROID
PARA
CREAR
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
}
QU ES UN VIEW?
Es un componente que permite controlar la interaccin del usuario con
la aplicacin. Estos son muy similares a los controles SWING de Java,
como Labels, Buttons, TextFields,Checkboxes, etc. Los Views son
organizados dentro de los Layouts para que el usuario comprenda los
objetivos de la actividad.
ATRIBUTOS DE UN VIEW
Veamos los propsitos de los atributos usados con mayor frecuencia al
disear un layout:
usar
los
valores match_parent y wrap_content. El primero ajusta la dimensin a las
medidas del contenedor padre y el segundo lo ajusta al contenido del
View.
layout:width: Representa el ancho de un view.
layout:layout_margin: Especifica
las mrgenes del
view
con
Y CUANDO PROGRAMAMOS?
Justo
en
este
instante!
Crearemos una pequea aplicacin con un Relative Layout y los
la
pestaa Design en
la
parte
inferior
del
editor:
actual en un dispositivo.
En su parte superior tenemos una barra que permite configurar
construir la actividad.
Al lado derecho se encuentra el Component Tree o rbol de
muestran
en
la
ilustracin
derecha.
QU ES UN EDITTEXT?
El view que acabamos de agregar pertenece a la familia de
los TextFields. Un TextField es un control que espera la entrada de
texto del usuario, como por ejemplo su nombre, telfono y datos que
sean tiles para la aplicacin.
El que acabamos de agregar es de tipo MultiLine, lo que significa que
puede recibir varios renglones de caracteres en su contenido. Tambin
hay otros tipos que solo reciben nmeros, o texto referente a un correo
electrnico, etc.
A pesar de que en diseador se llame TextField en Java es representado
por la subclaseEditText y en XML con el elemento <EditText>.
QU ES UN BUTTON?
Como su nombre lo indican se refiere a un botn. Como usuarios hemos
visto y clickeado millones de veces a estos amigos. Su propsito es
QU ES UN MEDIUM TEXT?
Es un texto esttico de tamao promedio en la interfaz de usuario. Su
propsito es informar o guiar el recorrido en la aplicacin. Como ves,
adicionalmente
hay
ms
texts
en
el
panel:Small (Pequeo), Large (Gigante) y Plain Text (Texto plano). Si
necesitas una referencia adicional, podras comparar el Medium
Text con un Label de SWING.
El medium Text se representa con la subclase de Java TextView, lo de
medium simplemente fue posible editando un atributo que define el
tamao de la fuente. Su equivalente XML es el componente <TextView>.
De nuevo arrastra y posiciona como indican las siguientes ilustraciones:
main_textview.
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:ems="10"
android:id="@+id/main_editText"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:hint="Mensaje" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/main_button"
android:layout_below="@+id/main_editText"
android:layout_centerHorizontal="true"
android:layout_marginTop="41dp"
android:text="Procesar" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/main_textview"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_below="@+id/main_button"
android:layout_marginTop="41dp" />
</RelativeLayout>
Este archivo muestra los componentes de cada View y los atributos que
le hemos asignado (tambin hay otros atributos configurados
intrnsecamente por Android Studio).
presionado?:
del
editText
boton = (Button)findViewById(R.id.main_button);
edit = (EditText)findViewById(R.id.main_editText);
text = (TextView)findViewById(R.id.main_textview);
QU CONTENDR EL LISTENER?
Las acciones que establecimos en nuestro algoritmo: Obtener el valor
del edit text y el setearlo en el viewtext.
Veamos:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
boton = (Button)findViewById(R.id.main_button);
edit = (EditText)findViewById(R.id.main_editText);
text = (TextView)findViewById(R.id.main_textview);
CONCLUSIN
Quienes inician en el Desarrollo Android puede que se les haga difcil
entender el concepto de inflar views. No obstante la prctica
constante interiorizar este concepto.
Crear diseos de interfaz para tus aplicaciones requiere aprendizaje
continuo. Tambin exige que comprendas los patrones de diseo y
respetes los lineamientos.
El paso a seguir es comprender el funcionamiento de fragmentos dentro
de las aplicaciones Android.