Edición de «
Android Curso PDF
»
Ir a la navegación
Ir a la búsqueda
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
Layouts:<br/> Son elementos no visibles que se encargan de controlar la posicion, distribución y tamaño de los controles que estan en su interior (botones, textviews, edittexts, ...)<br/> Extienden a la clase ViewGroup<br/> Tipos:<br/> FrameLayout: Es el mas simple de todos. Coloca todos sus controles hijos alineados con su esquina superior izquierda, de forma que cada control quedará oculto por el control siguiente (a menos que éste último tenga transparencia). Por ello, suele utilizarse para mostrar un único control en su interior, a modo de contenedor (placeholder) sencillo para un sólo elemento sustituible, por ejemplo una imagen.<br/> LinearLayout: Apila uno tras otro todos sus elementos hijos de forma horizontal o vertical según se establezca su propiedad android:orientation. Hay parámetro con el que jugar, la propiedad android:layout_weight.<br/> TableLayout: Permite distribuir sus elementos hijos de forma tabular, definiendo las filas y columnas necesarias, y la posición de cada componente dentro de la tabla.<br/> La estrucutra de la tabla se define con los objetos TableRow y dentro de cada fila se ponen los controles y estos ocupan una columna de la tabla.<br/> Por norma general, el ancho de cada columna se corresponderá con el ancho del mayor componente de dicha columna, pero existen una serie de propiedades que nos ayudarán a modificar este comportamiento:<br/> android:stretchColumns. Indicará las columnas que pueden expandir para absorver el espacio libre dejado por las demás columnas a la derecha de la pantalla.<br/> android:shrinkColumns. Indicará las columnas que se pueden contraer para dejar espacio al resto de columnas que se puedan salir por la derecha de la palntalla.<br/> android:collapseColumns. Indicará las columnas de la tabla que se quieren ocultar completamente.<br/> Todas estas propiedades del TableLayout pueden recibir una lista de índices de columnas separados por comas (ejemplo: android:stretchColumns=”1,2,3″) o un asterisco para indicar que debe aplicar a todas las columnas (ejemplo: android:stretchColumns=”*”).<br/> Otra característica importante es la posibilidad de que una celda determinada pueda ocupar el espacio de varias columnas de la tabla (análogo al atributo colspan de HTML). Esto se indicará mediante la propiedad android:layout_span del componente concreto que deberá tomar dicho espacio.<br/> GridLayout: Es similar al TableLayout. Aqui indicamos el número de filas y de columnas mediante android:rowCount y android:columnCount. También tendremos disponibles las propiedades android:layout_rowSpan y android:layout_columnSpan para conseguir que una celda ocupe el lugar de varias filas o columnas. Existe también una forma de indicar de forma explícita la fila y columna que debe ocupar un determinado elemento hijo contenido en el GridLayout, y se consigue utilizando los atributos android:layout_row y android:layout_column. De cualquier forma, salvo para configuraciones complejas del grid no suele ser necesario utilizar estas propiedades.<br/> RelativeLayout: Permite especificar la posición de cada elemento de forma relativa a su elemento padre o a cualquier otro elemento incluido en el propio layout. De esta forma, al incluir un nuevo elemento X podremos indicar por ejemplo que debe colocarse debajo del elemento Y y alineado a la derecha del layout padre.<br/> Activities<br/> Views<br/> Services<br/> Intents<br/> <br/> La apariencia de la aplicacion se controla con los archivos xml de la carpeta layout. La logica con los archivos .java.<br/> En los archivos .java se crean objetos que descienden de Activity y se utiliza setContentView(R.layout.activity_main); para decir con que archivo de layaout esta relacionada esa activity.<br/> <br/> <pre> btnHola.setOnClickListener(new View.OnClickListener() { //Llamamos a la función que saltara cuando hagamos click @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this, FrmSaludo.class); //Creamos un Intent para llamar a una activity desde otra activity Bundle b = new Bundle(); //Creamos un Bundle para pasar datos a la otra activity b.putString("NOMBRE", txtNombre.getText().toString()); //Llenamos el bundle con el par CLAVE, VALOR intent.putExtras(b); //Añadimos la información al intent startActivity(intent); //Llamamos a la siguiente Activity } }); </pre> <br/> <pre> protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_saludo); final TextView txtSaludo = (TextView)findViewById(R.id.TxtSaludo); Bundle bundle = this.getIntent().getExtras(); //Recuperamos info pasada en el intent txtSaludo.setText("Hola" + bundle.getString("NOMBRE")); //Construimos el mensaje a mostrar } </pre>
Resumen:
Ten en cuenta que todas las contribuciones a Proyectos se consideran publicadas bajo la Creative Commons Atribución-CompartirIgual (véase
Proyectos:Derechos de autor
para más información). Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre.
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Menú de navegación
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Espacios de nombres
Página
Discusión
español
Vistas
Leer
Editar
Ver historial
Más
Buscar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Páginas especiales
Herramientas
Lo que enlaza aquí
Cambios relacionados
Información de la página