在我的 Android 应用程序中,需要禁用许多 UI 元素,直到单击按钮。我可以通过引用 layout 来禁用 layout 中的所有 UI 元素,而不需要一一禁用它们吗?
您可以像这样递归地禁用所有视图。 只需将布局作为视图传递给方法即可:
private void enableViews(View v, boolean enabled) {
if (v instanceof ViewGroup) {
ViewGroup vg = (ViewGroup) v;
for (int i = 0;i<vg.getChildCount();i++) {
enableViews(vg.getChildAt(i), enabled);
}
}
v.setEnabled(enabled);
}
只需运行
enableViews(view, false)
即可禁用,或运行 enableViews(view, true)
再次启用。
在 xml 布局中使用以下属性(作为示例 textView):
android:visibility="gone"
在按钮点击事件中:
myText.setVisible(myText.VISIBLE)
您可以一一使用它们,也可以将所有不可见内容放在一个布局中并隐藏布局。然后,一旦您想显示它们,只需使布局可见,然后所有内容都会显示。