Android Cero; Programación android desde cero en la nueva plataforma de desarrollo Android Studio. Tutoriales sobre instalación, configuración, programación. Todo de una forma sencilla y en español.
En este ejemplo les mostraré como usar un elemento ScrollView en Android, este elemento permite presentar contenido mayor al tamaño de nuestra pantalla. Cuando el contenido supera el tamaño aparece automática el ScrollView (cuando está implementado). La práctica una presenta la tabla de 8 por lo que se necesita desplazar para ver todos los resultados obtenidos desde el código Java click aquí.En este ejemplo mostraré como poner más elementos XML en la pantalla para ver el funcionamiento del ScrollView, la práctica será con botones pero pueden incluirse otros elementos como widgets.
Los pasos son muy sencillos, después de crear el proyecto vamos a insertar el es Scrollview después un Linearlayout con orientación vertical y dentro del Layout algunos botones, lo suficientes para llenar la pantalla y así poder desplazarnos.
La interfaz se ve de la siguiente forma.
Interfaz ScrollView XML
Y el resultado es el siguiente
ScrollView XML
Código XML como implementar un ScrollView
En este ejemplo los botones no tienen el atributo ID pero al querer vincularlos o asociarlos con los objectos en Java será necesario incluir el atributo ID.
En este ejemplo les mostraré como usar un elemento ScrollView en Android, este elemento permite presentar contenido mayor al tamaño de nuestra pantalla. Cuando el contenido supera el tamaño aparece automática el ScrollView (cuando está implementado).
El ejemplo usará una TextView donde se muestre la tabla de multiplicar del número 8 hasta el 20, de esta forma para iniciar también de forma básica con el uso del ciclo for.
Lo que vamos a hacer será:
Crear en nuevo proyecto Android.
Insertar los elementos XML
Asociar los elementos XML con sus objetos en Java e implementar el método OnClickListener en el botón.
Insertar un código del botón "Generar" (Generará la tabla al ser pulsado).
1 Comenzar creando el nuevo proyecto para Android click Aquí. 2 Insertar los elementos XML al Layout de nuestra aplicación, en mi caso usaré un botón para mostrar la acción. La interfaz queda como la siguiente:
ScrollView elemento XML
El código XML:
Para realizar la asociación de los elementos XML asignamos los ID a los elementos TextView y Button.
Importante recuerda que ScrollView solo puede tener un elemento hijo (child), se recomienda el uso de un Layout con orienteación vertical, si necesitas el desplazamiento horizontal deberás utilizar HorizontalScrollView. 3 Asociar los elementos XML con sus objectos en Java y activar en el botón el método onClickListener.
4 Insertar un código del botón "Generar" Por último necesitamos la lógica del programa que se ejecutará al pulsar el botón.
El código Java de la tabla del 8 es la siguiente:
String tabla=""; //Declarar la variablee String para guardar los resultados
Toast.makeText(ZASApp4MainActivity.this, "Generando tabla del 8", Toast.LENGTH_SHORT).show();
//Se implementa un mensaje toast
for (int i = 1; i < 21; i++){
// eL ciclo se repetira 20 veces
//cada vez que se repite el ciclo se agrega al string lo que esta en
// comillas al mismo tiempo que se realiza la operacion
tabla+="8 X "+i+" = "+8*i+"\n";
}
//Despues de tener los datos en la variable String tabla se muestra el
//resultado en el TextView
tv1.setText(tabla);
Si deseas ver la práctica sobre los mensajes emergentes click aquí. Por último solo tenemos que ejecutar la aplicación, al pulsar el botón "generar" podremos ver como se muestra la tabla del 8, la cual no cabe en la pantalla pero podemos desplazarnos por ella.
En la primer imagen se muestra la aplicación recientemente ejecutada, La segunda imagen muestra el botón recién pulsado. Por último la tercer imagen muestra el desplazamiento hasta la última multiplicación.
Códigos finales.
Código XML.
String.xml
ZASApp4Hello world!SettingsGenerar
Activity Código Java.
package com.example.zasapp4.zasapp4;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class ZASApp4MainActivity extends ActionBarActivity {
Button btn1;
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zasapp4_main);
btn1 = (Button)findViewById(R.id.button);
tv1 = (TextView)findViewById(R.id.textView);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String tabla=""; //Declarar la variablee String para guardar los resultados
Toast.makeText(ZASApp4MainActivity.this, "Generando tabla del 8", Toast.LENGTH_SHORT).show();
//Se implementa un mensaje toast
for (int i = 1; i < 21; i++){
// eL ciclo se repetira 20 veces
//cada vez que se repite el ciclo se agrega al string lo que esta en
// comillas al mismo tiempo que se realiza la operacion
tabla+="8 X "+i+" = "+8*i+"\n";
}
//Despues de tener los datos en la variable String tabla se muestra el
//resultado en el TextView
tv1.setText(tabla);
}
});
}
}
Es un contenedor para una jerarquía de vistas que se puede desplazar por el usuario, permitiendo que la interfaz sea más grande que la pantalla física. Un SrollView es un FrameLayout, esto significa que solo debe contener un elemento hijo (child), este elemnto hijo debe contener todos los elementos y contenido dentro del ScrollView. Normalmente es utilizado como hijo un elemento LinarLayout con orientación vertical el que contendrá a los otros elementos, por los que el usuario podrá desplazarse.
ejemplo:
Único "hijo" de ScrollView contiene botones
Jerarquía de ScrollView.
Jerarquía ScrollView
Aveces es importante conocer la jerarquía de un elemento pues sus subclases manejan muchos atributos similares.
Principales atributos de ScrollView.
Existe gran cantidad de atributos y métodos, pero estas son usadas para programación más compleja como animaciones y otro tipo de características, para hacer uso de ScrollView esencialmente solo se necesita establecer el área a usar ancho y alto y en ocasiones se utilizan los margenes tanto exteriores como interiores así mismo el color de fondo.
android:width. Permite establecer el ancho del SrollView, los valores del atributo width pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:height. Permite establecer el alto del ScrollView, los valores del atributo height pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:padding. Permite establecer el margen interior del Scrollview, los valores del atributo padding son px (pixeles), estas medidas aplican para todos los bordes del ScrollView, también existe el atributo independiente para cada borde.
android:background.Permite establecer el fondo del Scrollview, los valores del atributo background son "#rgb", "#argb", "#rrggbb", o "#aarrggbb", los valores son colores rgb o alfargb ambos también en formato hexadecimal. (El forma argb permite aplicar transparencias en los colores), ejemplo: android:background="#fff1ff1f"
Para ver más valores visita la fuente original: http://developer.android.com/reference/android/widget/ScrollView.html
Un Toast (notificación emergente), un mensaje que aparece en la pantalla pero sin bloquear otras funciones de la aplicación. esto quiere decir que la actividad permanece visible y activa. El mensaje o notificación no acepta interacción lo que significa que al tocarla no sucede nada.Un mensaje Toast aparece, queda visible durante un tiempo previamente establecido después desaparece. Los Toast son muy útiles para mandar mensajes al usuario con efectos integrados de forma general en el sistema.
Este tipo de mensajes puede mostrar simplemente texto, también puede incluir imágenes (iconos) o texto con imágenes (iconos), cada programador puede personalizar su mensaje emergente según sus necesidades. Existe la posibilidad de crearlo como un objeto, definirlo y después asignarle los valores, de este modo se tienen ciertas ventajas de personalizar en Toast como la posición, los margenes, Pero ahora mostraré el Toast sencillo.
Para usar este widget se tiene que importar su librería con la siguiente linea.
import android.widget.Toast;
Una instancia Toast tiene tres atributos, su estructura es la siguiente.
contexto.- Activitdad de la aplicación donde se presentará el mensaje emergente toast. texto.- Variable String que contendrá el mensaje a mostrar. duracion.- Variable entera que acepta valores Toast.LENGTH_SHORT (0) o Toast..LENGHT_LONG (1).
Para lanzar el mensaje emergente solo tenemos que insertarlo en la parte de nuestra actividad donde se ejecutará, importante para ejecutar un mensaje Toast debe estar dentro del código de una actividad.
Mi aplicación realiza la siguiente actividad, al pulsar un botón que dice "Generar" muestra un Toast (mensaje emergente) que dice "Pulsaste el boton". El resultado es el de la imagen.
Espero que este post haya sido de ayuda, todavía seguimos con cosas simples para la programación en Android desde cero recuerda seguirnos en las redes sociales para ayudar a crecer este proyecto. Escribe tus dudas y comentarios.
Es un campo de texto (Text field) editor de texto plano. Un campo de texto permite que al usuario escribir texto en la aplicación. Puede ser de una sola línea o de múltiples líneas. Si toca un campo de texto muestra automáticamente el teclado. Además de escribir, los campos de texto permiten una variedad de otras actividades , como la selección de texto (cortar, copiar , pegar) y datos de consulta a través de auto-realización .
Jerarquía de EditText.
Jerarquía EditText
Aveces es importante conocer la jerarquía de un elemento pues sus subclases manejan muchos atributos similares.
Otros de los atributos básicos se pueden ver en TextView.
android:width. Permite establecer el ancho del TextView, los valores del atributo width pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:height. Permite establecer el alto del TextView, los valores del atributo height pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:hint.Indica el texto a mostrar en el la vista (EditText). mientras el campo se encuentra vacío, ejemplo: un campo que indique "nombre" y al comenzar a escribir el valor "nombre" desaparecerá. El valor de este atributo debe ser de tipo String. cuando lo textos son estáticos (predefinidos) la variable String a mostrar debe hacer referencia a res/strings, aquí existe la posibilidad de escribir lo que mostrará la aplicación en diferentes idiomas según la configuración del sistema, esto para internacionalizar la aplicación.
Suele ser más usado el atributo hint que el atributo text porque hint desaparece cuando se comienza a escribir algo dentro del campo de texto.
android:inputType. Permite establecer el tipo de datos o valores que va a admitir el campo de texto, entre los valores del del campo de texto están números enteros, números decimales, fechas, contraseñas, direcciones de correo electrónico, direcciones postales, números de teléfono, etc.
Sirve para optimizar una aplicación ayudando a decidir el método y tipo de datos que se va a introducir, pues despliega el tipo de teclado necesario para facilitar la usabilidad. Puede ser uno o más tipos de datos separados por el operador "|" ("barra") algunos de los valores son: text, textPassword, date, phone, number.
android:id. Proporciona un nombre identificador para este elemento vista, para luego ser asociado con su correspondiente y en Java y poder ser manipulado desde la Activity. La recuperación o asociación de componentes se realiza mediante el método findViewById(), para ver un tutorial sobre como asociar componentes click aquí.
TextView es una clase pública heredada de la clase View.
Este elemento (widget) Permite mostrar texto al usuario mediante la interfaz gráfica, un TextView es un editor de texto completo, sin embargo la clase básica está configurado para no permitir la edición.
Jerarquía de TextView.
Jerarquía TextView
Aveces es importante conocer la jerarquía de un elemento pues sus subclases manejan muchos atributos similares.
android:width. Permite establecer el ancho del TextView, los valores del atributo width pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:height. Permite establecer el alto del TextView, los valores del atributo height pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:gravity. Especifica la posición relativa del texto que contiene (cuando el texto es más chico que el TextView). Puede tomar uno, o varios valores separados por el operador "|" ("barra") algunos de los valores son: top, buttom, left, right, center.
android:textSize. Especifica el tamaño del texto que tendrá al mostrar un mensaje, los valores del atributo textSize pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 sp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros),
se recomienda usar la medida sp (escala basada en el tamaño de la fuente).
android:text. Indica el texto a mostrar en el TextView. el valor de este atributo debe ser de tipo String. cuando lo textos son estáticos (predefinidos) la variable String a mostrar debe hacer referencia a res/strings, aquí existe la posibilidad de escribir lo que mostrará la aplicación en diferentes idiomas según la configuración del sistema, esto para internacionalizar la aplicación.
android:id. Proporciona un nombre identificador para este elemento vista, para luego ser asociado con su correspondiente y en Java y poder ser manipulado desde la Activity. La recuperación o asociación de componentes se realiza mediante el método findViewById(), para ver un tutorial sobre como asociar componentes click aquí.
Estos son los atributos más importantes para comenzar a mostrar textos en los TextView de nuestra aplicación, ya sean indicación o resultados de procesos, para saber más acerca de otros atributos recomiendo seguir la fuente de la información que se encuentra al final del post.
¿Cómo permitir la selección del texto en un TextView?
Un elemento TextView puede permitir a los usuarios copiar parte o la totalidad del valor del TextView para pegarlo en otro lugar, es necesario establecer en el atributo XML android: textIsSelectable a "true" o llame setTextIsSelectable (verdadero). La bandera textIsSelectable permite a los usuarios hacer gestos de selección en el TextView , que a su vez desencadena incorporados controles de copiar / pegar del sistema.