3.3 EditText

El EditText tiene la capacidad de interactuar con el usuario mostrando y recogiendo la información capturada en él, y propiedades que nos son de utilidad en dicho proceso de captura de información, por ejemplo captura de texto, captura de números, captura de contraseñas, entre otros.

A continuación veremos cómo modificar estas propiedades para poder utilizarlas en nuestra Aplicación según nuestras necesidades.

android:id="@+id/TxtHint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Hint animado"
android:layout_gravity="center_horizontal"
android:Text="Texto"

Id
Es el nombre con el que identifica a cada elemento, debe ser único.

Width
Es el ancho que toma el control, generalmente se toma el valor “match_parent” para que se muestre a lo ancho de la pantalla

Height
Es el alto del control que generalmente se toma el valor “wrap_content” que es el alto del contenido del mismo control

Gravity
Es la alineación que tomará el control respecto a su elemento padre, center, right, left…

Text
Es un texto que se mostrará en nuestro control de forma inicial

Hint
Esta propiedad es de mucha utilidad debido a que el espacio de las interfaces en dispositivos es muy limitada como para poner una etiqueta de texto fuera del EditText ya que consumiría demasiado espacio valioso, lo que hace es poner un texto de descripción del EditTex de la misma manera que lo hace el placeholder en otros lenguajes de etiquetado. Pero hay dos estilos de ponerlo.

La primera en la que desaparece cuando escribimos algún texto en el EditText y que nos deja después con la duda de qué dato estaba capturando y para verlo hay que borrar todo el texto para que aparezca de nuevo. Sólo con colocar la siguiente propiedad en el EditText.

android:hint="Hint normal"

Hint Normal

La segunda en la que el hint se desplaza hacia arriba con un tamaño mas pequeño indicándonos en todo momento de qué se trata el dato capturado.

En ésta forma es necesario tener la propiedad hint en el EditText pero todo nuestro EditText lo tenemos que poner dentro de un TextInputLayout.

Para poder utilizarlo necesitamos el android support design en nuestro archivo gradle nivel app

compile 'com.android.support:design:22.2.1'

<android.support.design.widget.TextInputLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content">

<EditText
     android:id="@+id/TxtHint"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:hint="Hint animado"
     android:paddingBottom="35dp"
     />
</android.support.design.widget.TextInputLayout>

Hint Animado