如何在左侧的操作栏上充气菜单
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选项
- 将工具栏添加到活动布局。
- 在您的片段中声明它需要重绘工具栏。 setHasOptionsMenu(真);
- 将工具栏设置为操作栏
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) }
- 覆盖onOptionsItemSelected并执行您的功能 qazxsw poi
以上是关于如何在左侧的操作栏上充气菜单的主要内容,如果未能解决你的问题,请参考以下文章