Cómo inflar correctamente un diseño con un ViewFlipper anidado?
Solía tener un diseño main.xml simple que tenía sólo 2 vistas volteadas a través de la envoltura ViewFlipper. Funcionó (sigue funcionando) genial, con el siguiente código:
setContentView(R.layout.main); mTV1 = (TextView) findViewById(R.id.textview01); mTV2 = (TextView) findViewById(R.id.textview02); mViewFlipper = (ViewFlipper)findViewById(R.id.flipper01);
Ahora quiero añadir 2 botones en la parte superior de las vistas originales, de una manera similar a esto :
- Android captura todos los eventos de movimiento y los envía a los niños
- Cómo cambiar entre actividades con viewflipper
- Android - inAnimation funciona para ViewFlipper pero outAnimation no
- Habilitar EditarTexto desplazable dentro de ScrollView y ViewFlipper
- EditText no captura ViewFlipper arroja?
<LinearLayout android:id="@+id/linearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout android:id="@+id/linearLayout02" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/button01" android:layout_height="wrap_content" android:text="Button 1" android:layout_width="0dip" android:layout_weight="1"></Button> <Button android:id="@+id/button02" android:layout_height="wrap_content" android:text="Button 2" android:layout_width="0dip" android:layout_weight="1"></Button> </LinearLayout> <RelativeLayout android:id="@+id/relativeLayout01" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1"> <ViewFlipper android:id="@+id/flipper01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textview01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Text" /> <TextView android:id="@+id/textview02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Text2" /> </ViewFlipper> </RelativeLayout> </LinearLayout>
Mi problema es que modifiqué intuitivamente el código original insertando un findViewById para el diseño compuesto:
setContentView(R.layout.main); mCompositeLayout = (LinearLayout) findViewById(R.id.linearLayout02); mTV1 = (TextView) findViewById(R.id.textview01); mTV2 = (TextView) findViewById(R.id.textview02); mViewFlipper = (ViewFlipper)findViewById(R.id.flipper01);
¡Pero muestra exactamente igual que antes! Como si nunca agregara linealLayout02 extra que contenga los botones.
¿Qué me estoy perdiendo? ¿Qué estoy haciendo mal?
- FindViewById devuelve null en una vista <include>
- Hacer diferencias entre setOnClickListener y setOnTouchListener
- Desplácese entre vistas Android
- ViewFlipper: Receptor no registrado
- Cómo mantener la vista actual en ViewFlipper al cambiar la orientación
- Desarrollo de una pantalla de inicio de Android
- Obtener Id de recurso de ImageView
- Romper el texto grande en las páginas en el selector de texto androide o ver flipper
Pruebe el proyecto-> limpio (si utiliza Eclipse) y asegúrese de que está editando el archivo main.xml correcto. Su código funciona, ni CompositeLayout ni ViewFlipper importa, los botones se dibujan.
Si está seguro de que no falta nada y de que los botones no están dibujados, intente agregar android: layout_weight en su nuevo LinearLayout (que contiene botones). (Para mi Galaxy Nexus todo está bien sin peso, pero el problema puede aparecer debido a la fragmentación del dispositivo Android)
- No se pudo cargar la aplicación Android SDK
- Cómo utilizar la sesión para trabajar entre php webservices y android