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


¿Cómo se ocultan varias vistas al mismo tiempo?

Tengo una vista relativa de la disposición, y 3 opiniónes de los niños también. Estoy intentando esconderlos todos en código fijando la disposición relativa a INVISIBLE usando setVisibility. Lo curioso es que cuando uso setVisibility (View.INIVISIBLE) sólo el primer hijo está oculto, no los otros dos. Así que estoy un poco confundido – si establezco una vista de padres a invisible no debería cambiar la visibilidad de todos los niños o dejarlos solos?

Siéntase libre de señalarme una página de referencia que lo explique – no puedo encontrar nada.

Actualización: He intentado establecerlo en View.GONE, pero sucede lo mismo, excepto que los dos niños que permanecen visibles suben un poco.

Aquí está el XML relevante:

<RelativeLayout android:id="@+id/optionsform" android:layout_width="fill_parent" android:padding="8dp" android:layout_height="wrap_content" > <TextView android:id="@+id/tvoptions" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:text="@string/tvoptions" android:textColor="#f000" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold"/> <TextView android:id="@+id/tvdictionary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/tvoptions" android:layout_marginLeft="30dp" android:layout_marginTop="16dp" android:text="@string/dictionary" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#f000" /> <Spinner android:id="@+id/dictionary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/tvdictionary" android:layout_alignParentRight="true" android:layout_marginTop="-10dp" android:layout_marginLeft="6dp" android:layout_toRightOf="@+id/tvdictionary" /> </RelativeLayout> 

Y aquí está el código relevante que estoy usando:

  public void onClick(View v) { //Toggle viewing of options, using "if" in case it is set to View.GONE View view = findViewById(R.id.optionsform); if (view.getVisibility() == View.VISIBLE) view.setVisibility(View.INVISIBLE); else view.setVisibility(View.VISIBLE); } 

  • Cómo usar visible e invisible para un botón en android
  • ¿Cómo comprobar la visibilidad del teclado del software en Android?
  • ¿Cómo mostrar / ocultar vistas agrupadas en Android?
  • Cómo ocultar la barra de progreso en Android?
  • ¿Por qué no funciona setVisibility después de animar una vista?
  • Android ScrollView se desplaza a la parte superior después de llamar a setVisibility (View.VISIBLE) en la vista secundaria
  • 4 Solutions collect form web for “¿Cómo se ocultan varias vistas al mismo tiempo?”

    Intente establecer las tres vistas en View.INVISIBLE o View.GONE .

    O

    Puedes probar

     public void onClick(View v) { //Toggle viewing of options, using "if" in case it is set to View.GONE RelativeLayout view = (RelativeLayout) findViewById(R.id.optionsform); if (view.getVisibility() == View.VISIBLE) view.setVisibility(View.INVISIBLE); else view.setVisibility(View.VISIBLE); } 

    Debe establecer en el estado View.GONE .

      <TextView android:id="@+id/tvdictionary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" **android:layout_below="@+id/tvoptions"** // *should be android:layout_below="@id/tvoptions* android:layout_marginLeft="30dp" android:layout_marginTop="16dp" android:text="@string/dictionary" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#f000" /> <Spinner android:id="@+id/dictionary" android:layout_width="wrap_content" android:layout_height="wrap_content" **android:layout_alignTop="@+id/tvdictionary"** // *should be android:layout_alignTop="@id/tvdictionary* android:layout_alignParentRight="true" android:layout_marginTop="-10dp" android:layout_marginLeft="6dp" android:layout_toRightOf="@+id/tvdictionary"// *should be android:layout_toRightOf="@id/tvdictionary* /> 

    @id se utiliza al referenciar la ID del diseño
    @ + Id se utiliza al crear un nuevo ID de diseño

    Resuelto. Un desinstalar a continuación, instalar la aplicación en mi dispositivo Android hizo el truco. Me cuidaré de eso en el futuro

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.