下面列出了android.view.Menu#setGroupEnabled ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
static void setViewsEnabled(ViewGroup view, boolean enabled) {
for (int i = 0; i < view.getChildCount(); i++) {
View child = view.getChildAt(i);
if (child instanceof Spinner ||
child instanceof EditText ||
child instanceof CheckBox ||
child instanceof ImageView /* =ImageButton */ ||
child instanceof RadioButton ||
(child instanceof Button && "disable".equals(child.getTag())))
child.setEnabled(enabled);
else if (child instanceof BottomNavigationView) {
Menu menu = ((BottomNavigationView) child).getMenu();
menu.setGroupEnabled(0, enabled);
} else if (child instanceof RecyclerView)
; // do nothing
else if (child instanceof ViewGroup)
setViewsEnabled((ViewGroup) child, enabled);
}
}
private void setOptionsGroupHidden(final Menu menu, final boolean drawerOpen) {
menu.setGroupEnabled(R.id.group_hide_on_drawer_open, !drawerOpen);
menu.setGroupVisible(R.id.group_hide_on_drawer_open, !drawerOpen);
}
/**
* Sets all menu items visible and enabled state that are in the given group.
*/
private static void setOptionsMenuGroupState(Menu menu, int groupId, boolean enabled) {
menu.setGroupVisible(groupId, enabled);
menu.setGroupEnabled(groupId, enabled);
}
/**
* Sets all menu items visible and enabled state that are in the given group.
*/
private static void setOptionsMenuGroupState(Menu menu, int groupId, boolean enabled) {
menu.setGroupVisible(groupId, enabled);
menu.setGroupEnabled(groupId, enabled);
}