[英]open navigation drawer when options icon pressed
我在應用程序中使用導航抽屜,從右到左設置。 我希望僅在按下選項菜單按鈕(3個點)時打開它。
我試過這個線程
按下選項菜單按鈕但不起作用時,打開導航抽屜 。
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>
當您按下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);
}
就像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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.