Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Los componentes invisibles todavía ocupan espacio

Así pues, tengo esta actividad que se parece a esto:

Http://i.imgur.com/UzexgEA.jpg

Como puede ver, tiene un botón, una lista y un botón.

Si se cumplen ciertas condiciones, quiero ocultar los dos botones sólo mostrar la lista, pero como se puede ver en la siguiente imagen, los botones siguen ocupando espacio:

Http://i.imgur.com/OyLIfSk.jpg

Así que mi pregunta, ¿qué puedo hacer para ampliar la lista para sacar ese espacio?

Aquí está mi diseño para los botones y la lista:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/findSelected" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="registrarAsistencia" android:text="Registrar Asistencia" /> <ListView android:id="@+id/listaAlumnos" android:layout_width="fill_parent" android:layout_height="376dp" android:layout_weight="2.29" /> <Button android:id="@+id/btnChecarBoxes" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="seleccionarTodosNinguno" android:text="Seleccionar / Deseleccionar todo" /> </LinearLayout> 

Y aquí está el diseño del contenido de la lista:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:orientation="vertical" > <TextView android:id="@+id/rowTextView" android:layout_width="wrap_content" android:layout_height="match_parent" android:padding="10dp" android:textSize="16sp" android:textStyle="bold"/> <TextView android:id="@+id/rowTextView2" android:layout_width="wrap_content" android:layout_height="match_parent" android:padding="10dp" android:textSize="16sp" android:textStyle="italic"/> </LinearLayout> <CheckBox android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:focusable="false" android:padding="10dp" /> </RelativeLayout> 

3 Solutions collect form web for “Los componentes invisibles todavía ocupan espacio”

No realice los botones View.INVISIBLE . Haga los botones View.GONE . Hay tres estados de visibilidad:

  • Visible (normal)
  • Invisible (píxeles no dibujados, pero todavía ocupa espacio)
  • Ido (no incluido en la representación)

Utilizar

 android:layout_height="0dp" android:layout_weight="1" 

Además de la respuesta de @ CommonsWare

Debe utilizar un diseño que se adapte bien a todos los tamaños de pantalla. Si le das un diseño de una altura fija como android:layout_height="376dp" se verá bien sólo en el dispositivo (o emulador) que está probando. Lo que tienes que hacer es asegurarse de que tu listview ocupa todo (y sólo) el espacio que dejan tus botones.

Echa un vistazo a este artículo y esta respuesta para comprender mejor los pesos de la presentación.

Para ocultar tu widget

  yourEditText.setVisibility(View.GONE) 

Por la visibilidad de su widget

  yourEditText.setVisibility(View.VISIBLE) 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.