dan*_*joo 49 android android-appcompat material-design android-toolbar
我目前正忙着使用新的AppCompat库,为旧设备带来材料设计.
将工具栏设置为操作栏对我来说很好,但工具栏似乎在调用时没有做任何事情inflateMenu(int resId)
.从文档中,我认为这是替换getMenuInflater().inflate(int resId)
来自onCreateOptionsMenu的调用.如果我做后者,菜单项正确膨胀并添加到工具栏,但inflateMenu似乎没有.
我错过了什么?
活动代码:
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.main); // this does nothing at all
setSupportActionBar(toolbar);
}
// this works
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
MrE*_*r13 96
如果您正在呼叫 setSupportActionBar()
,则不需要使用,toolbar.inflateMenu()
因为工具栏充当您的ActionBar.所有与菜单相关的回调均通过默认回调.您需要调用的唯一时间toolbar.inflateMenu()
是将工具栏用作独立窗口小部件.在这种情况下,您还必须通过处理菜单项单击事件
toolbar.setOnMenuItemClickListener(
new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// Handle menu item click event
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19907 次 |
最近记录: |