【发布时间】:2020-04-29 04:51:47
【问题描述】:
如何禁用 Material Design 底部导航菜单项?我可以设置.isClickable = false,但这不会将菜单项显示为禁用,类似于按钮。我不能.isEnabled,API不允许。
底部导航视图 XML
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/menu_item_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:background="@color/colorDark"
app:menu="@menu/bottom_navigation_menu">
菜单 XML
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_home"
android:title="Home"
android:icon="@drawable/home_button"
app:showAsAction="ifRoom" />
活动
class Something : AppCompatActivity() {
private lateinit var mHomeBtn: BottomNavigationItemView
override fun onCreate(...) {
mHomeBtn = this.findViewById(R.id.action_home)
mHomeBtn.isClickable = false // <--- will make it unable to click but won't show disabled
mHomeBtn.isEnabled = false // <--- will throw an error
mHomeBtn.setOnClickListener(this)
}
...
【问题讨论】:
-
您是否遇到空指针异常?
-
我没有得到空指针。我想弄清楚如何在禁用时使底部导航菜单项变灰。目前,它会阻止点击它,但它会显示相同的颜色,而不是灰色。
标签: android kotlin material-design