Android:通过代码切换多个控件的可见性

时间:2014-03-07 07:38:06

标签: android android-layout

我正在寻找最佳实践来同时切换多个控件的可见性。例如:

布局中有5个按钮,我想将4个按钮的可见性切换为“Gone”。最好的方法是什么?

找到控件即view.FindViewById实现这一目的的唯一方法是什么?将它们放入像LinearLayout这样的另一个容器中的选项也是不可行的,因为我不想增加我的布局复杂性。

1 个答案:

答案 0 :(得分: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编写。