Primera vista arriba / superpuesta en LinearLayout
¿Es posible mostrar la primera vista en un LinearLayout superpuesta a la segunda?
Me gustaría distribuir mis vistas de la siguiente manera:
- ¿Cómo mostrar una ruta entre dos geocoords en google maps?
- ¿Hay algún límite para dibujar la ruta usando Geocoder (Android)?
- ICS teclado de vuelta, los botones de inicio no tomar contacto cuando se abre en la superposición
- Cómo dibujar polígono mano libre en Google mapa V2 en Android?
- Dibuja una ruta en los mapas siguiendo la ruta de movimiento de los dedos en la pantalla del dispositivo
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_alignParentRight="true" > <TextView android:id="@+id/firstTextView" android:layout_width="wrap_content" android:layout_height="wrapContent" /> <TextView android:id="@+id/secondTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
Pero necesito mi primera vista desde el diseño, firstTextView, que se colocará en la parte superior (superposición) secondTextView. es posible? Estoy utilizando el LinearLayout porque también estoy jugando con los márgenes para obtener un efecto superpuesto.
- Cómo crear una superposición de información en Android
- Aplicación de Android: mostrar elementos de superposición en AsyncTask
- Almacenamiento en caché de superposiciones al redondear rectángulos de coordenadas - ¿cómo?
- ¿Cómo puedo dibujar una flecha que muestre la dirección de manejo en MapView?
- Barra de navegación translúcida (Android 4.4) - Mostrar contenido debajo
- Especifique Layout Margen superior para la barra de acción de superposición
- Superponer una actividad en otra actividad O superponer una vista sobre otra
- Problema de superposición de texto en ViewFlipper ..
Lo que funcionó para mí y probablemente trabajará para usted es que:
- Envuelva sus 2 TextViews con RelativeLayout en lugar de LinearLayout y defina android: clipChildren = "false". Esto evitará que la parte que se solape sea recortada.
- Coloque el segundo TextView debajo del primer TextView
- En el código, llama a bringToFront () en el primer TextView. De forma predeterminada, la primera vista de texto se dibuja primero y estará por debajo de la segunda vista de texto. Llamar bringToFront () cambiará esa orden.
Así que el diseño puede ser algo como esto:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:clipChildren="false"> <TextView android:id="@+id/firstTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" android:text="First View" /> <TextView android:id="@+id/secondTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/firstTextView" android:background="#00000000" android:layout_marginTop="-13dp" android:text="Second View"/> </RelativeLayout>
y:
TextView firstTextView = (TextView)findViewById(R.id.firstTextView); firstTextView.bringToFront();
Si todo lo que desea es superponer las dos vistas verticalmente, a continuación, utilice este XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/firstTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" android:text="First View" /> <TextView android:id="@+id/secondTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" android:layout_marginTop="-13dp" android:text="Second View"/> </LinearLayout>
O puede seguir con Linear Layout, pero coloque un RelativeLayout dentro de él, como un niño. Usted puede colocar sus TextViews con el RelativeLayout, así que heredarán las propiedades de RelativeLayout. A continuación, puede utilizar su LinearLayout para otras vistas. http://developer.android.com/reference/android/widget/RelativeLayout.html
Al asignar el valor de margen "<0" podemos superponer las vistas. Pero el diseño relativo es preferible cuando necesitamos superposiciones.