【问题标题】:How to set a custom back button in ActionBar?如何在 ActionBar 中设置自定义后退按钮?
【发布时间】:2018-07-21 12:19:18
【问题描述】:

我正在以这种方式创建一个 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 行,并显示我想要的图标。但是,该按钮不再可点击。

如何将我的 drawable 设置为按钮,并保持它可点击?

【问题讨论】:

标签: android android-actionbar


【解决方案1】:

改用setHomeAsUpIndicator() 方法

actionBar.setHomeAsUpIndicator(R.drawable.ic_drawer);

【讨论】:

    【解决方案2】:

    如果要返回箭头按钮,只需使用以下代码:

    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)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      相关资源
      最近更新 更多