Lanzar otra ventana y uso horizontal-vertical en Android

Veremos un recorte de código de como lanzar otras activities, también cómo diseñar otra pantalla

para cuando el móvil gire a forma horizontal, nuestros controles se vean bien y sin esconderse.

Fig.1.Portrait Activity

Fig.1.Portrait Activity

Fig.2.Landscape Activity

Fig.2.Landscape Activity

Seguiremos los pasos:

  1. Cambiamos el texto y propiedades de la etiqueta por defecto a: “Primera activity”,textsize: 8pt
  2. Descargamos un android logo logo de android de esta liga, creamos la carpeta /drawable dentro de la carpeta /res y lo colocamos ahí. Sobre el nombre del proyecto en la vista del workspace,presionamos [F5] para actualizar los archivos.
  3. Insertamos un control imageview, y cambiamos sus propiedades Src: @drawable/android_logo300,Layout gravity: center.
  4. Insertamos un botón y cambiamos su propiedad Layout gravity: center. y guardamos todo (a cada cambio).
  5. Creamos la carpeta /res/layout-land y copiamos el archivo /res/layout/main.xmla la carpeta nueva, lo abrimos e insertamos un layout horizontal. Acomodamos la imagen y el botón dentro del layout nuevo y lo centramos. Nos queda la figura 2.
  6. Sobre la carpeta /res/layout presionamos el botón derecho del ratón y creamos un nuevo XML File de tipo Layout con el nombre ventana2. Lo abrimos y agregamos un control de texto que diga “Segunda activity”.
  7. Nos colocamos sobre el paquete en la ventana del proyecto, y presionamos botón derecho para crear una nueva clase de java. Le llamamos activ2 y le decimos que su superclase es android.app.Activity
  8. Abrimos el nuevo archivo que debe encontrarse en /src/com.hola2/activ2.java y dentro de la clase tecleamos “oncre” y presionamos [ctrl]+[spacebar] para completar el código, seleccionamos el primero “OnCreate (Bundle…” y le damos [enter].
  9. Agregamos la línea de código: setContentView(R.layout.ventana2); y la nueva clase nos queda de esta forma.
package com.hola2;
import android.app.Activity;
import android.os.Bundle;
public class activ2 extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.ventana2);
	}
}

Para completar la creación de la nueva actividad solo nos falta agregar la referencia al archivo /AndroidManifest.xml, nos cambiamos a la ventana del proyecto,lo abrimos y nos cambiamos a la vista xml en las pestañas inferiores,al final. Aquí  agregamos < activity android:name=”.activ2″>< /activity>, antes de que cierre la etiqueta < /application>.

Con esto tenemos la figura 1, y nuestra nueva activity ya creada y lista para ser llamada,nos cambiamos al código abriendo el archivo desde la ventana de proyectos /src/com.hola2/MainActivity.java,por ejemplo.  Agregamos el código para abrir otro activity al presionar el botón.

Button boton=(Button) findViewById(R.id.button1);
        boton.setOnClickListener(new OnClickListener() {			
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				Intent ventana=new Intent(MainActivity.this,activ2.class);
				startActivity(ventana);				
			}
		});

Hay muchas posibilidades al momento de lanzar otro activity, como el pasarle parámetros.Pero lo veremos en otro momento.

El código fuente esta aquí

El instalable para android, aquí

Comparte ➜

2 comments

Add yours
  1. Programador Loco 7 noviembre, 2012 at 00:29

    Muchas gracias, encontre la forma de hacerlo de otra manera pero no me servia, esto es justo lo que buscaba.

Post a new comment