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> 

  • Máscara ImageView con fondo de esquina redonda
  • Android textAllCaps en el tema
  • Cómo quitar la barra de título de la actividad de Android?
  • Android ScrollView puede alojar sólo un hijo directo
  • Editar texto que muestra el subrayado rojo en el texto
  • ¿Cómo puedo cambiar programáticamente el valor de un color en colors.xml?
  • NoClassDefFoundError android / support / v4 / animación / AnimatorCompatHelper
  • Cree los botones de android mediante programación utilizando la disposición XML como plantilla
  • 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.