2011-03-30 1 views
3

Je sais comment activer/désactiver un bouton défini dans un XML de mise en page après l'avoir trouvé:bouton afficher conditionnellement

testBtn = (Button)findViewById(R.id.test); 

Mais autre que mises en page de chargement sous conditions, est-il un moyen de dire dans mon code « utilisation que mise en page XML, mais ne pas charger le bouton défini là "?

Répondre

11

Pour définir la visibilité d'une vue en XML, utilisez l'attribut android: visibility.

Ce qui suit définit la visibilité du bouton sur disparu. Lorsqu'elle est réglée sur Android, Android ne l'affiche pas et n'inclut pas sa taille lors du calcul de la mise en page.

<Button android:id="@+id/mybutton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hello" 
      android:visibility="gone"/> 

Réglage android: visibilité = « invisible » ne montrera pas le bouton, mais inclure lors du calcul de la mise en page.

<Button android:id="@+id/mybutton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hello" 
      android:visibility="invisible"/> 

Pour afficher par programmation le bouton dans le code, vous appelez la méthode setVisibility().

Button btn = (Button)findViewById(R.id.thebuttonid); 
btn.setVisibility(View.VISIBLE); //View.GONE, View.INVISIBLE are available too. 
+0

Votre hypothèse est correcte - Je ne veux pas qu'elle soit rendue dans le cadre de la mise en page. Je veux contrôler cela dynamiquement dans le code, quelle est la méthode API pour le faire? – an00b

+1

Merci beaucoup. Vous venez de sauver la vie d'un enfant en bas âge dans le monde Android. :) – an00b

+0

De rien. Codage heureux =) –

Questions connexes