如何在 ActionBar 中设置自定义后退按钮?
How to set a custom back button in ActionBar?
我正在以这种方式创建一个 ActionBar(SupportActionBar,更准确地说):
android.support.v7.app.ActionBar actionBar=getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
//actionBar.setDisplayOptions(actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE););
actionBar.setIcon(R.drawable.ic_drawer);
actionBar.setTitle(mTitle);
通过这种方式,我在操作栏中获得了一个按钮,单击该按钮后,它就会执行我希望它执行的操作。但是,它显示一个指向左侧的箭头。我想显示另一个可绘制对象,所以我取消注释 setDisplayOptions 行,然后显示我想要的图标。但是,该按钮不再可点击。
如何将我的可绘制对象设置为按钮,并使其保持可点击状态?
改用setHomeAsUpIndicator()
方法
actionBar.setHomeAsUpIndicator(R.drawable.ic_drawer);
如果你想要后退箭头按钮,只需使用下面的代码:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val ab = actionBar
ab?.setDisplayHomeAsUpEnabled(true)
getSupportActionBar()?.setDisplayHomeAsUpEnabled(true);
}
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
finish()
return super.onOptionsItemSelected(item)
}
我正在以这种方式创建一个 ActionBar(SupportActionBar,更准确地说):
android.support.v7.app.ActionBar actionBar=getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
//actionBar.setDisplayOptions(actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE););
actionBar.setIcon(R.drawable.ic_drawer);
actionBar.setTitle(mTitle);
通过这种方式,我在操作栏中获得了一个按钮,单击该按钮后,它就会执行我希望它执行的操作。但是,它显示一个指向左侧的箭头。我想显示另一个可绘制对象,所以我取消注释 setDisplayOptions 行,然后显示我想要的图标。但是,该按钮不再可点击。
如何将我的可绘制对象设置为按钮,并使其保持可点击状态?
改用setHomeAsUpIndicator()
方法
actionBar.setHomeAsUpIndicator(R.drawable.ic_drawer);
如果你想要后退箭头按钮,只需使用下面的代码:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val ab = actionBar
ab?.setDisplayHomeAsUpEnabled(true)
getSupportActionBar()?.setDisplayHomeAsUpEnabled(true);
}
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
finish()
return super.onOptionsItemSelected(item)
}