在 Android 中以编程方式隐藏工具栏主页/后退按钮?
Hide Toolbar Home / Back button programmatically in Android?
我的应用程序有一个项目 selection 就像 WhatsApp 一样,长按我可以 select 多个项目来删除它们。一切正常,直到我需要一个按钮来清除 selection。我想使用后退按钮(箭头)清除 selection,我希望后退箭头在单击后消失,但我找不到办法做到这一点。
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 "tooltip"
我只是想在按下后退按钮以清除后隐藏它 selection。
试试这个解决方案
用于显示后退按钮
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
}
用于隐藏后退按钮
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setHomeButtonEnabled(false);
}
如果您使用的是 Toolbar
,则可以使用它自己的导航图标 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
or can use a MaterialToolbar
included in the Material Components library.
我的应用程序有一个项目 selection 就像 WhatsApp 一样,长按我可以 select 多个项目来删除它们。一切正常,直到我需要一个按钮来清除 selection。我想使用后退按钮(箭头)清除 selection,我希望后退箭头在单击后消失,但我找不到办法做到这一点。
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 "tooltip"
我只是想在按下后退按钮以清除后隐藏它 selection。
试试这个解决方案 用于显示后退按钮
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
}
用于隐藏后退按钮
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setHomeButtonEnabled(false);
}
如果您使用的是 Toolbar
,则可以使用它自己的导航图标 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
or can use a MaterialToolbar
included in the Material Components library.