如何在左侧的操作栏上充气菜单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在左侧的操作栏上充气菜单相关的知识,希望对你有一定的参考价值。

我在顶部操作栏内有一个菜单,允许更改密码,编辑他们的个人资料和注销。我需要的是,一旦他们点击“编辑生物”选项,我想在左侧的操作栏中添加一个箭头或“<”,以允许用户“退回”选项,如果他们想要退出编辑配置文件以及在编辑时隐藏右侧菜单选项。这是我在右侧菜单膨胀的代码:

override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
        inflater!!.inflate(R.menu.profiletoolbar, menu)
        super.onCreateOptionsMenu(menu, inflater)
    }

    //get the actionbar selction when pressed
    override fun onOptionsItemSelected(item: MenuItem): Boolean = when (item.itemId) {
        R.id.userLogout -> {
            FirebaseAuth.getInstance().signOut()
            val i = Intent(context, Login::class.java)
            startActivity(i)
            true
        }
        R.id.editBio -> {
            editProfileBio()
            true
        }
        else -> super.onOptionsItemSelected(item)
    }

我真的想了解这是如何工作的过程。有人能帮我吗?我也可以用箭头或“<”替换右边的菜单,虽然我不喜欢这个想法。

答案

怎么样:setDisplayHomeAsUpEnabled()

R.id.editBio -> {
            editProfileBio()
            supportActionBar?.setDisplayHomeAsUpEnabled(true)
            true
        }

处理时按下:

override fun onBackPressed() {
        super.onBackPressed()
        // do your stuff when pressed the back Button
    }

我也可以用箭头或“<”替换右边的菜单,虽然我不喜欢这个想法。

也不喜欢这个想法。通过在Button点击时启用后退editbio,您将可以访问当前菜单,并且还会有一个后面的Button,所以这似乎是完美的方式。

另一答案

你只需要听取R.id.home选项

  1. 将工具栏添加到活动布局。
  2. 在您的片段中声明它需要重绘工具栏。 setHasOptionsMenu(真);
  3. 将工具栏设置为操作栏 private fun setActionBar() { val toolbar = getActivity().findViewById(R.id.tb_main_toolbar) if (toolbar != null) { (getActivity() as AppCompatActivity).setSupportActionBar(toolbar) } val actionBar = (getActivity() as AppCompatActivity).supportActionBar if (null != actionBar) { customizeActionBar(actionBar) } } private fun customizeActionBar(actionBar: ActionBar) { actionBar.setDisplayHomeAsUpEnabled(true) actionBar.setTitle(R.string.logout) actionBar.setDisplayHomeAsUpEnabled(true) actionbar.setDisplayShowHomeEnabled(true) actionBar.setHomeAsUpIndicator(R.drawable.logout) }
  4. 覆盖onOptionsItemSelected并执行您的功能 qazxsw poi

以上是关于如何在左侧的操作栏上充气菜单的主要内容,如果未能解决你的问题,请参考以下文章

导航栏上的菜单项和导航栏左侧的公司图标

在Fragment上不调用onOptionsItemSelected()方法

长按网页视图的水平菜​​单充气机

Xamarin 表单 - 侧边菜单左侧栏、片段和列表视图

使用片段在可Swipable选项卡中加载首选项设置

如何在android中的操作栏上添加多个图标?