2011-08-23 17 views
6

questo è il mio principale file .xml:vogliono fare alcuni punti di vista invisibile in fase di esecuzione in applicazione 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> 

voglio che sulla base di uscita in fase di esecuzione dovrebbe mostrare un solo TextView e il pulsante corrispondente a quella di uscita. sto definendo il layout nel file main.xml e anche io sono ew in questo campo.

qualcuno ha qualche idea. grazie in anticipo

+0

uso. per nascondere il pulsante è possibile utilizzare button.setVisibility (View.GONE); .. è possibile utilizzare View.Visible per attivare la visibilità. –

risposta

11

presumo si sa come ottenere un riferimento alle viste definite, ad esempio:

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

Dovrai definire un id per ogni vista che desideri utilizzare nel codice, proprio come hai fatto per il pulsante email:

android:id="@+id/emailbutton" 

Per impostare la visibilità di una vista si chiama:

button.setVisibility(View.GONE); 

si ha la possibilità di impostare la visibilità per INVISIBLE e VISIBLE. Quindi puoi giocare con la visibilità come preferisci. La differenza tra INVISIBLE e GONE è che GONE rimuove completamente la vista dal layout mentre INVISIBLE "salva" lo spazio occupato da questa visualizzazione.

Si può vedere che negli esempi API.

1

per fare una vista visibile o invisibile provare questo:

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

La visibilità della vista può essere modificata utilizzando il metodo View.setVisibility(), controllare questo link per ulteriori informazioni. Spero che questo ti aiuti.

1

Utilizzare textView.setVisibility (View.GONE); - per rendere View Gone e textView.setVisibility (View.INVISIBLE); - per rendere visibile INVISIBILE

0

Ottieni la vista per ID e rendila invisibile. Per la vostra TextView "MyText", per esempio:

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

Per rimuovere yourview in codice Java:

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

Per yourview trasparente in codice Java:

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

Per rimuovi la tua vista nel file Xml:

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

Per pulsante trasparente in file XML: metodo setVisibility

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