Cómo cambiar la visibilidad del diseño mediante programación


Existe la manera de cambiar la visibilidad de la vista, pero ¿cómo puedo cambiar programáticamente la visibilidad del diseño definido en XML? ¿Cómo obtener un objeto de presentación?

<LinearLayout
    android:id="@+id/contacts_type"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:visibility="gone">
</LinearLayout>
Author: Cœur, 2010-08-12

5 answers

Echa un vistazo a View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE).

De los documentos de la API :

public void setVisibility(int visibility)

Desde: API Nivel 1

Establezca el estado habilitado de esta vista.
    Atributos XML relacionados: android: visibilidad

Parámetros:
visibility Uno de VISIBLE, INVISIBLE o DESAPARECIDO.

Tenga en cuenta que LinearLayout es un ViewGroup que a su vez es una View. Es decir, usted puede muy bien llame, por ejemplo, myLinearLayout.setVisibility(View.VISIBLE).

Esto tiene sentido. Si tienes alguna experiencia con AWT / Swing, la reconocerás por la relación entre Container y Component. (A Container es un Component.)

 91
Author: aioobe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-05 15:08:57
TextView view = (TextView) findViewById(R.id.textView);
view.setText("Add your text here");
view.setVisibility(View.VISIBLE);
 13
Author: SuperNova1054,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-12 23:10:16

Utilice este Diseño en su archivo xml

<LinearLayout
  android:id="@+id/contacts_type"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:visibility="gone">
</LinearLayout>

Defina su diseño en .class file

 LinearLayout linearLayout = (LinearLayout) findViewById(R.id.contacts_type);

Ahora, si desea ajustar este diseño, simplemente escriba

 linearLayout.setVisibility(View.VISIBLE);

Y si desea ocultar el diseño simplemente escriba

 linearLayout.setVisibility(View.INVISIBLE);
 6
Author: pavel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-16 11:24:51

Puede cambiar la visibilidad del diseño de la misma manera que para la vista normal. Use setVisibility (View.GONE) etc. Todos los diseños son solo Vistas, tienen la vista como su padre.

 1
Author: Konstantin Burov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-12 08:27:54

Programaticaaly use esto:

 view.setVisibility(View.GONE); //For GONE
 view.setVisibility(View.INVISIBLE); //For INVISIBLE
 view.setVisibility(View.VISIBLE); //For VISIBLE
 0
Author: Hanisha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-07 06:41:52