android - 在 Android 中以编程方式隐藏工具栏主页/后退按钮?

标签 android material-design android-toolbar android-appcompat material-components-android

我的应用程序有一个项目选择,就像 WhatsApp 一样,长按我可以选择多个项目来删除它们。一切正常,直到我需要一个按钮来清除选择。我想使用后退按钮(箭头)清除选择,我希望后退箭头在单击后消失,但我找不到这样做的方法。

supportActionBar?.setDisplayHomeAsUpEnabled(false)

这将是第一个解决方案,但我认为它无法以编程方式隐藏按钮。

我也试过这样做,因为我使用要删除的垃圾桶图标执行此操作,但它不适用于后退箭头。

toolbarMainActivity.menu.findItem(R.id.home).isVisible = false

我还尝试更改工具栏、应用栏布局和 menu_main.xml 文件中的值,但无法设置重力或将图标强制到应用标题前的后退箭头的位置。

这适用于应用程序启动,但在将其设置为 true 后将其设置为 false 不会隐藏箭头,只会重新创建

supportActionBar?.setDisplayHomeAsUpEnabled(false)

![1]: https://imgur.com/y5AgYde.jpg “工具提示”

我只是想在按下后退按钮以清除选择后隐藏它。

最佳答案

如果您使用的是工具栏,您可以使用它自己的导航图标 API。

您可以使用以下方式更改图标:

toolbar.setNavigationIcon(R.drawable....);

在你的情况下你可以使用:

toolbar.setNavigationIcon(null);

你可以添加一个OnClickListener

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
      @Override public void onClick(View view) {
        //...Do something
      }
    });

您可以使用 androidx.appcompat.widget.Toolbar或者可以使用 MaterialToolbar包含在 Material Components library 中.

关于android - 在 Android 中以编程方式隐藏工具栏主页/后退按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57965899/

相关文章:

AngularJS Material 设计 - 按钮悬停时的 MD 颜色

android - 在操作栏中设置 android 搜索 View 和下拉列表的样式

android - 在协调器布局中隐藏工具栏下方的 View

java - 为什么必须声明 "Integer int1"才能在 onCreate 和 onClick 方法中使用它?

android - 如何从帖子的链接从 instagram 下载图片和视频

android - 如何在不使用上下文的情况下动态获取应用程序版本

android - 无法从edittext获取数据,Android Kotlin

android - 如何防止 Snackbar 关闭?

android - 在启用触摸模式的情况下显示 snackbar 时,无法将焦点放在 snackbar 中的操作按钮上

android - Android 工具栏上出现奇怪的空白