2011-08-23 11 views
6

esta es mi principal archivo .xml:quieren hacer algunas vistas invisible durante el tiempo de ejecución de aplicaciones para Android

<?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" 
    android:padding="5dip" 
    > 

<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 

android:textColor="@color/mbackground1" 
android:gravity="center_horizontal" 
android:text="@string/decode_label" 
android:padding="5dip" 
/> 

<TextView 
android:id="@+id/mytext" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:gravity="center_horizontal" 
android:background="@color/mbackground2" 
android:textColor="@color/mytextcolor" 
android:padding="5dip" 
/> 


<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/continue_label" 
android:gravity="center_horizontal" 
android:textColor="@color/mytextcolor" 
android:padding="5dip" 
/> 

<Button 
android:id="@+id/webbutton" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/web_button" 
android:textColor="@color/mytextcolor" 
/> 

<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/continue_label1" 
android:gravity="center_horizontal" 
android:textColor="@color/mytextcolor" 
android:padding="5dip" 
/> 

<Button 
android:id="@+id/callbutton" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/call_button" 
android:textColor="@color/mytextcolor" 
/> 
<TextView 

android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/continue_label2" 
android:gravity="center_horizontal" 
android:textColor="@color/mytextcolor" 
android:padding="5dip" 
/> 

<Button 
android:id="@+id/emailbutton" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/sendemail_button" 
android:textColor="@color/mytextcolor" 
/> 

</LinearLayout> 

quiero que en base a la producción en tiempo de ejecución se debe mostrar sólo una TextView y el botón correspondiente a esa salida. Estoy definiendo el diseño en el archivo main.xml y también estoy en este campo.

¿alguien tiene alguna idea. gracias de antemano

+0

uso del método setVisibility. para ocultar el botón, puede usar button.setVisibility (View.GONE); .. puede usar View.Visible para activar la visibilidad. –

Respuesta

11

Asumo que sabe cómo conseguir una referencia a las vistas que ha definido, por ejemplo:

Button button = (Button)findViewById(R.id.emailbutton) 

Deberá definir un id. Para todas y cada una de las vistas que desee usar en el código, tal como lo hizo con el botón de correo electrónico:

android:id="@+id/emailbutton" 

Con el fin de establecer la visibilidad de una vista de llamar:

button.setVisibility(View.GONE); 

usted tiene la opción de configurar la visibilidad a INVISIBLE y VISIBLE. Luego puede jugar con la visibilidad que desee. La diferencia entre INVISIBLE y GONE es que GONE elimina la vista completamente del diseño, mientras que INVISIBLE "guarda" el espacio que ocupa esta vista.

Puede ver eso en los ejemplos de API.

1

para hacer una vista visible o invisible a probar esto:

yourView.setVisibility(View.GONE); 
yourView.setVisibility(View.VISIBLE); 
0

La visibilidad de la vista se puede cambiar utilizando el método View.setVisibility(); consulte este link para obtener más información. Espero que esto ayude.

1

Use textView.setVisibility (View.GONE); - para hacer View Gone y textView.setVisibility (View.INVISIBLE); - para hacer la vista INVISIBLE

0

Obtener la vista por ID y hacerla invisible. Para su TextView "mitexto", por ejemplo:

TextView my = (TextView) findViewById(R.id.mytext); // Get the view you want to manipulate 
my.setVisibility(View.INVISIBLE);     // Make it invisible 
my.setVisibility(View.VISIBLE);      // Make it visible again 

Always check the documentation first!

6

Para eliminar YourView en código Java:

Button btn=(Button)findViewById(R.id.btn); 
btn.setVisibility(View.GONE); 

Para YourView transparente en el código de Java:

Button btn=(Button)findViewById(R.id.btn); 
btn.setVisibility(View.INVISIBLE); 

Para elimine su vista en archivo Xml:

<yourView 
android:id="@+id/btn" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:visibility="gone"/> 

Para el botón transparente en el archivo XML:

<yourView 
android:id="@+id/btn" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:visibility="invisible"/> 
Cuestiones relacionadas