【发布时间】:2017-11-04 19:42:19
【问题描述】:
在我的Toolbar 中,我有一个菜单,其中包含一项“设置”,以及一个带有右侧对齐的汉堡图标的DrawerLayout。
现在看起来像这样:
我希望汉堡在右边,像这样:
menu.xml:
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/settings"
android:icon="@drawable/ic_settings_black_48dp"
app:showAsAction="always" />
</menu>
MainActivity:
public class MainActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
//EndDrawerToggle is class for setup DrawerLayout with an end-aligned drawer
private EndDrawerToggle drawerToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context=this;
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
myToolbar.setTitle("");
setSupportActionBar(myToolbar);
drawerToggle = new EndDrawerToggle(this,
mDrawerLayout,
myToolbar,
R.string.drawer_open,
R.string.drawer_close);
mDrawerLayout.addDrawerListener(drawerToggle);
//....
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.settings) {
//do smth
}
return super.onOptionsItemSelected(item);
}
}
EndDrawerToggle 类来自this answer。
【问题讨论】:
标签: android menu menuitem drawerlayout