我没有自定义栏,我只是在操作栏上设置了删除图标,但现在我需要将OnClickListener设置为此图标。如果没有自定义栏,我怎么能这样做呢?左边的图标也不是左边的,我可以在右边设置吗?
activity.getSupportActionBar().setIcon(R.drawable.ic_delete);
我使用导航抽屉,当我使用自定义栏时,切换图标绝望。
答案 0 :(得分:0)
actionBar.setDisplayHomeAsUpEnabled(true);
然后你需要覆盖活动方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onIconClicked();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
要在右侧创建项目,您需要创建自定义菜单,实际上,它很简单。
Here是如何执行此操作的示例
答案 1 :(得分:0)
您希望将ActionBar的主页按钮设置为删除按钮。我建议不要这样做,因为在我看来这是一个糟糕的设计决定。此外,您还希望在右侧显示按钮,可以使用菜单以更直观的方式完成。
请查看添加ActionBar操作here
的官方文档基本上,您需要添加XML菜单资源并声明您的操作:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_delete"
android:icon="@drawable/ic_delete"
android:title="@string/action_delete"
app:showAsAction="always"/>
</menu>
然后在您的Activity中覆盖OnOptionsItemSelected方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_delete:
// Do your stuff here
return true;
default:
return super.onOptionsItemSelected(item);
}
}