我是Android新手。我试图在操作栏中添加2个图标。所以,我使用grails.databinding.dateFormats = [
'dd-MM-yyyy', 'yyyy-MM-dd', 'yyyy-MM-dd HH:mm:ss.S'
]
来做到这一点。以下是我使用的代码getSupportActionBar().setIcon()
。
onCreate()
当抽屉图标从操作栏中消失时。不,当我重新打开它时,图标会再次出现。
任何人都知道这里发生了什么?
提前致谢。 :)
答案 0 :(得分:2)
您可以尝试遵循此Link。
检查一下,告诉我它是否有效。
或者你可以做这样的事情。 创建menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/next"
android:icon="@drawable/ic_next"
android:title="@string/next" />
<item android:id="@+id/previous"
android:icon="@drawable/ic_previous"
android:title="@string/previous" />
<item android:id="@+id/list"
android:icon="@drawable/ic_list"
android:title="@string/list" />
</menu>
现在您可以在菜单上设置ICON
现在在CreateOptionMenu
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
并访问该菜单。
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.next:
Toast.makeText(this, "You have chosen the " + getResources().getString(R.string.next) + " menu option",
Toast.LENGTH_SHORT).show();
return true;
…
default:
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:2)
从onDrawerClosed()和onDrawerOpened()中删除invalidateOptionsMenu(),看看抽屉打开时图标是否消失。
由于你没有发布onPrepareOptionsMenu()方法,我想这就是问题所在。 invalidateOptionsMenu()调用onPrepareOptionsMenu(),我想那些代码存在的地方是在抽屉打开时隐藏图标。
P.S:作为单独答案发布,因为我无法发表评论。