按下选项图标时打开导航抽屉
open navigation drawer when options icon pressed
我在我的应用程序中使用导航抽屉,从右到左设置。我希望它只在我按下选项菜单按钮时打开(3 个点)。
我试过这个帖子
Open navigation drawer when options menu button is pressed
但不工作。
menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>
就像 Surrender Kumar 说的,你必须手动打开抽屉,但是从 onOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_settings:
mDrawerLayout.openDrawer(your view);
return true;
}
return super.onOptionsItemSelected(item);
}
您需要在菜单上添加 showAsAction=ifRoom 和一个图标:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:icon="@drawable/action_settings"
android:orderInCategory="100"
app:showAsAction="ifRoom" />
</menu>
当您按下 3 个点时 android 将显示折叠的菜单项。
如果你想从菜单项打开抽屉,我建议你找到一个代表 3 个点的图标(或者让抽屉像图标一样)和:
菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/ic_options"
android:icon="@drawable/ic_menu_dots"
android:showAsAction="always" />
</menu>
代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.ic_options:
mDrawerLayout.openDrawer(your view);
return true;
}
return super.onOptionsItemSelected(item);
}
我在我的应用程序中使用导航抽屉,从右到左设置。我希望它只在我按下选项菜单按钮时打开(3 个点)。
我试过这个帖子
Open navigation drawer when options menu button is pressed
但不工作。
menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>
就像 Surrender Kumar 说的,你必须手动打开抽屉,但是从 onOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_settings:
mDrawerLayout.openDrawer(your view);
return true;
}
return super.onOptionsItemSelected(item);
}
您需要在菜单上添加 showAsAction=ifRoom 和一个图标:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:icon="@drawable/action_settings"
android:orderInCategory="100"
app:showAsAction="ifRoom" />
</menu>
当您按下 3 个点时 android 将显示折叠的菜单项。 如果你想从菜单项打开抽屉,我建议你找到一个代表 3 个点的图标(或者让抽屉像图标一样)和:
菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/ic_options"
android:icon="@drawable/ic_menu_dots"
android:showAsAction="always" />
</menu>
代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.ic_options:
mDrawerLayout.openDrawer(your view);
return true;
}
return super.onOptionsItemSelected(item);
}