2014-03-07 81 views
0

我在尋找最佳實踐來同時切換多個控件的可見性。例如:Android:通過代碼切換多個控件的可見性

佈局中有5個按鈕,我想將4個按鈕的可見性切換爲「Gone」。什麼是最好的方式來做到這一點?

是否正在查找控件,即view.FindViewById實現此目的的唯一方法?將它們放入另一個容器(如LinearLayout)的選項也不可行,因爲我不想增加布局複雜度。

+1

將你的按鈕添加到一個數組或其他東西來管理它們,循環或者瀏覽這個數據結構來去掉你的子控件 –

+0

就像循環的想法一樣。 – Signcodeindie

回答

0

在android上工作讓我想起了Winform的日子,你必須遍歷所有控件,找到它們並採取行動。這裏是我寫的代碼片段來獲得所需的結果。

var myLayout = searchView.FindViewById<LinearLayout>(Resource.Id.myLayout); 
     for (int count = 0; count < myLayout.ChildCount; count++) 
     { 
      // Hide all controls in layout except details Imageview 
      if (myLayout.GetChildAt (count).Id != Resource.Id.IdOfControlThatIDontWantToHide) 
       gestureControlLayout.GetChildAt (count).Visibility = ViewStates.Invisible; 

     } 

此代碼是用Xamarin.Android編寫的。