Comment désactiver / activer tous les enfants sur LinearLayout dans Android
Est-il par voie de programmation que tous les enfants d'une certaine mise en page?
Par exemple j'ai cette mise en page avec deux enfants:
<LinearLayout android:layout_height="wrap_content"
android:id="@+id/linearLayout1" android:layout_width="fill_parent">
<SeekBar android:layout_height="wrap_content" android:id="@+id/seekBar1"
android:layout_weight="1" android:layout_width="fill_parent"></SeekBar>
<TextView android:id="@+id/textView2" android:text="TextView"
android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_height="wrap_content"></TextView>
</LinearLayout>
et je veux faire quelque chose comme:
LinearLayout myLayout = (LinearLayout) findViewById(R.id.linearLayout1);
myLayout.setEnabled(false);
Afin de désactiver les deux textviews.
Aucune idée de comment?
source d'informationauteur user733284
Vous devez vous connecter pour publier un commentaire.
Un LinearLayout s'étend ViewGroup, de sorte que vous pouvez utiliser le getChildCount() et getChildAt(index) des méthodes pour parcourir votre LinearLayout enfants et de faire ce que vous voulez avec eux. Je ne suis pas sûr de ce que tu veux dire par les activer/désactiver, mais si vous êtes juste essayer de les cacher, vous pouvez le faire setVisibility(View.DISPARU);
Donc, il ressemblerait à quelque chose comme ceci:
Vous pouvez également activer/désactiver sans l'aide de setVisibility()
Ajouter une Vue.OnClickListener à votre Case, puis passer de la Vue, vous voulez être des personnes handicapées dans la fonction suivante...
avec la référence suivante Est-il un moyen de désactiver tous les éléments de mise en page spécifique programmaticaly?
Pourquoi ne pas tout simplement faire le setVisibility(View.DISPARU) sur la mise en page elle-même, plutôt que d'une itération à travers les enfants?
Juste ajouter un transparent de mise en page qui sera match_parent de la vue d'origine et le changement de la visibilité visible lorsque vous souhaitez désactiver tous les enfants et de permettre aux enfants alors il suffit de changer la visibilité allé