- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我对包含两组的菜单有疑问。这种情况是当我从 group_2
中选择任何项目时,从 group_1
中最后选择的项目保持选中/突出显示。
有什么解决办法吗?
抽屉 View .xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single" android:id="@+id/group_1">
<item
android:id="@+id/leagues_in_progress_item"
android:icon="@drawable/ic_format_line_spacing_black_48dp"
android:title="@string/title_activity_leagues_in_progress" />
<item
android:id="@+id/last_matches_item"
android:icon="@drawable/ic_access_alarm_black_48dp"
android:title="@string/title_activity_last_matches" />
</group>
<group android:checkableBehavior="single" android:id="@+id/group_2">
<item
android:id="@+id/archive_item"
android:icon="@drawable/ic_folder_open_black_48dp"
android:title="@string/title_activity_archive" />
<item
android:id="@+id/put_score_item"
android:icon="@drawable/ic_add_circle_outline_black_48dp"
android:title="@string/title_activity_put_score" />
</group>
</menu>
MyActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState)
{
// ...
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
this.mDrawerToggle = new ActionBarDrawerToggle(this, this.mDrawerLayout, R.string.app_name, R.string.app_name);
this.mDrawerLayout.setDrawerListener(this.mDrawerToggle);
NavigationView navigationView = (NavigationView)findViewById(R.id.left_drawer);
this.addLeaguesSubmenu(navigationView);
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
displayMenuFragment(menuItem);
return true;
}
});
if (savedInstanceState == null) {
this.displayMenuFragment(navigationView.getMenu().getItem(0));
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// toggle nav drawer on selecting action bar app icon/title
if (this.mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* Diplaying fragment view for selected nav drawer list item
* */
public void displayMenuFragment(MenuItem menuItem)
{
// ...
menuItem.setChecked(true);
this.mDrawerLayout.closeDrawers();
}
最佳答案
试试这个:
private int selectedItem = 0;
private void setSelectedItem(MenuItem menuItem, int position) {
mNavigationView.getMenu().getItem(selectedItem).setChecked(false);
mNavigationView.getMenu().getItem(position).setChecked(true);
if (menuItem.getGroupId() == R.id.group_2) {
mNavigationView.getMenu().setGroupCheckable(R.id.group_1, false, true);
mNavigationView.getMenu().setGroupCheckable(R.id.group_2, true, true);
} else {
mNavigationView.getMenu().setGroupCheckable(R.id.group_1, true, true);
mNavigationView.getMenu().setGroupCheckable(R.id.group_2, false, true);
}
//Update highlighted item in the navigation menu
menuItem.setChecked(true);
selectedItem = position;
}
关于android - NavigationDrawer - 来自不同组的项目被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695506/
我看到很多关于在导航栏顶部设置半透明状态栏的问题,如下所示: 但我想要实现的是拥有一个非半透明状态栏,并使抽屉导航标题 View 与操作栏高度相同。这适用于前 Lollipop 设备 (API 21
这是我的代码: 主 Activity package com.pa.homeautomationblank; import android.app.Activity; import android.a
我在旋转菜单时在抽屉导航中动态(以编程方式)创建子菜单时遇到问题。我的导航 View 菜单 xml 仅包含主菜单(见下文)。调用 onCreate 事件时添加子菜单。一切正常,直到我旋转屏幕 - 子菜
我找不到实现非常自定义的 NavigationDrawer 的解决方案。我希望它有一个图像背景(黑色的一个带有白色方 block ),只有很少的项目,如下图所示: 可以制作吗?据我所知,这并不是 SD
我想要的是一个与下面设计中的主要内容无缝连接的 NavigationDrawer: 不知怎么的,我无法从抽屉里取出影子。 我试过的是这样的: drawer.setScrimColor(Color.TR
请帮我创建Toolbar,@+id/left_drawer 上面有哪些内容?是否可以?
是否可以将 NavigationDrawer 用作从上到下而不是从左到右的菜单? 最佳答案 这是 umano 应用的向上滑动面板,我在我的应用中使用了它,您可以轻松地将它转换为从上到下 https:/
我有 NavigationDrawer Activity 。当我单击 ActionBar 中的图标时,NavigationBar 打开,但有滞后。与关闭相同。我使用了本教程:https://www.y
我有一个带有此代码的抽屉导航: mDrawerListView.setAdapter(new ArrayAdapter( getActionBar().getThemedCon
我找不到使用 NavigationDrawer 轻松进行平板电脑多 Pane 布局的方法。 Play 音乐应用可以做到这一点。 我使用了 LOCK_MODE_LOCKED_OPENED 但它会按预期打
我想在我的 Android 项目中有一个 NavigationDrawer,它始终部分显示 ListView,并且这些项目也是可点击的,但是当用户拖动抽屉时,会出现完整的 ListView。 下图是我
根据 Google 指南,建议您仅在安装并打开应用程序后第一次打开 DrawerLayout(向用户展示功能)。 你会怎么做? 它似乎是 openDrawer() 方法与某种偏好的组合。 最佳答案 为
我的 DrawerLayout 设置在两边都有一个抽屉 当某个方法运行时,右边的抽屉会被填充,但是,在该方法运行之前,我可以从右侧滑动,屏幕变暗但什么也没有显示(因为在该方法运行之前布局是空的)。
我对包含两组的菜单有疑问。这种情况是当我从 group_2 中选择任何项目时,从 group_1 中最后选择的项目保持选中/突出显示。 有什么解决办法吗? 抽屉 View .xml:
我一直在尝试解决我遇到的问题,即我无法通过从右向左滑动来关闭 NavigationDrawer,但没有成功。通过从屏幕的左边缘向右滑动来打开它可以正常工作。我目前只是试图合并来自 developer.
我正在将我的应用程序更新为导航架构组件,并且我看到它有一个延迟替换 fragment ,这些 fragment 在 NavigationDrawer 中可见,并且不能顺利关闭。 到目前为止,我一直
我实现了一个基本的navigationDrawer,其中包含一个字符串数组。我希望用户单击列表中的某些内容并转到相应的Activity。然而,我在这里完全不知所措。我已经在这里阅读了很多答案,但仍然不
我创建了一个空 Activity ,然后将其更改为 DrawerLayout,每次打开菜单并单击某个项目时,抽屉都会关闭,但什么也没有发生,就像我只是打开和关闭它一样,无法执行任何其他操作. 这是布局
我是一名 Android 初学者。我正在使用 Android Studio,并使用 NavigationDrawer 创建我的 Activity 。所以我有一个 ListView,但我想向我的抽屉添加
我创建了 NavigationDrawer 类,现在我正在创建扩展抽屉导航类的新 Activity 。不幸的是我经常遇到这样的错误: java.lang.IllegalStateException:
我是一名优秀的程序员,十分优秀!