Cómo evitar que otra vista sea expulsada de la pantalla

Este es el ejemplo XML

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_margin="5dip" android:background="#FF992222"> <ScrollView android:layout_height="wrap_content" android:layout_width="fill_parent"> <LinearLayout android:layout_height="wrap_content" android:orientation="vertical" android:layout_width="fill_parent"> <TextView android:layout_width="wrap_content" android:text="TextView" android:layout_height="wrap_content" android:textSize="24dip"></TextView> </LinearLayout> </ScrollView> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_margin="5dip" android:background="#FF555555"> <TextView android:layout_width="wrap_content" android:text="TextView" android:layout_height="wrap_content" android:textSize="24dip"></TextView> </LinearLayout> </LinearLayout> 

El resultado es así:

Introduzca aquí la descripción de la imagen

Si observa, el texto en LinerLayout superior se envuelve en LinearLayout y ScrollView.

Si el contenido superior se añade, se verá así

Introduzca aquí la descripción de la imagen

Bottom Linearlayout se empujará fuera de la pantalla antes de que el ScrollView se active y hacer que el primer contenido sea desplazable … Y no quiero que eso suceda …

¿Qué debo hacer para que el Scrollview antes de que la vista inferior sea expulsado de la pantalla de esta manera:

(Esta imagen es editada y no creada por el editor de Android Layout)

Introduzca aquí la descripción de la imagen

Espero que la cuestión clara suficiente .. Gracias 🙂

Bueno, si entiendo que la pregunta es clara, quiere que el TextView en gris permanezca inmóvil, mientras que el textViews en rojo se puede desplazar alrededor, corregirme si estoy equivocado aquí. Si eso es lo que quieres, entonces puedes usar RelativeLayout para lograrlo. A continuación se muestra el código para producir una salida como:
http://imageshack.us/photo/my-images/836/device20111011012652.png/
Las entradas de ListView son desplazables mientras que el botón (en su caso debe ser un TextView) permanece donde está.

Código:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/newtask" android:layout_alignParentTop="true"> </ListView> <Button android:layout_width="fill_parent" android:id="@+id/newtask" android:layout_height="wrap_content" android:text="Add New Task" android:layout_alignParentBottom="true"> </Button> </RelativeLayout> 

Sólo tienes que cambiar el botón inferior a un TextView y que coincida con lo que quería.

Me tomó una cantidad de tiempo loco para averiguar esto, no hay información en la red, pero finalmente lo conseguí. ¡Disfrutar!

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mainlayout" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center_vertical" android:orientation="vertical" > <LinearLayout android:id="@+id/LL" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:gravity="center_vertical" android:layout_centerVertical="true" android:orientation="vertical" android:weightSum="1" > <ScrollView android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/TV1" android:layout_margin="5dp" android:layout_weight="1" android:fillViewport="true" > <TextView android:id="@+id/TV2" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" /> </ScrollView> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="5dp" android:layout_weight="0" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:text="TextView" android:layout_height="wrap_content" android:textSize="24dip"></TextView> </LinearLayout> </LinearLayout> 

Prueba esto. La clave es usar layout_weight dentro del diseño lineal.

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ScrollView android:layout_height="0dp" android:layout_weight="1" android:layout_width="fill_parent"> .... </ScrollView> <TextView android:layout_width="fill_parent" android:text="TextView" android:layout_height="wrap_content" android:textSize="24dip"/> </LinearLayout> 
  • Desplazamiento de EditText dentro de ScrollView
  • Vista emergente de Android No funciona
  • Cómo saber si Ver dentro de Desplazamiento es visible completamente o no
  • Android corta mi texto cuando usa fragmentos
  • Android: Detectando cuando ScrollView Hits Bottom
  • Android - ScrollView como foursquare con mapas + lista
  • Pase el evento de movimiento a la Scrollview primaria cuando Listview en la parte superior / inferior
  • Android deshabilita desplazamiento automático en la vista de lista expandible
  • ¿Por qué el teclado virtual muestra o no cuando se inicia una actividad?
  • Establecer contentInset en RecyclerView
  • Android NestedScrollView alinear el contenido en la parte superior
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.