首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何禁用BottomNavigationView换档模式?

如何禁用BottomNavigationView换档模式?
EN

Stack Overflow用户
提问于 2016-10-21 20:04:28
回答 12查看 82.1K关注 0票数 148

BottomNavigationView不显示处于非活动状态的菜单标题。

如何在bottomNavigationBar中显示所有菜单元素的标题?问题是,在我的例子中,只显示了被点击元素的标题。

EN

回答 12

Stack Overflow用户

发布于 2017-03-04 01:04:47

要禁用文本动画,还可以在dimens.xml文件中使用以下命令:

代码语言:javascript
复制
<dimen name="design_bottom_navigation_active_text_size">12sp</dimen>

您可能还需要在清单中添加以下内容:

代码语言:javascript
复制
tools:override="true"
票数 29
EN

Stack Overflow用户

发布于 2018-02-28 00:15:03

Przemysław在Kotlin中的答案作为扩展函数

代码语言:javascript
复制
@SuppressLint("RestrictedApi")
fun BottomNavigationView.disableShiftMode() {
    val menuView = getChildAt(0) as BottomNavigationMenuView
    try {
        val shiftingMode = menuView::class.java.getDeclaredField("mShiftingMode")
        shiftingMode.isAccessible = true
        shiftingMode.setBoolean(menuView, false)
        shiftingMode.isAccessible = false
        for (i in 0 until menuView.childCount) {
            val item = menuView.getChildAt(i) as BottomNavigationItemView
            item.setShiftingMode(false)
            // set once again checked value, so view will be updated
            item.setChecked(item.itemData.isChecked)
        }
    } catch (e: NoSuchFieldException) {
        Log.e(TAG, "Unable to get shift mode field", e)
    } catch (e: IllegalStateException) {
        Log.e(TAG, "Unable to change value of shift mode", e)
    }
}

用法(使用Kotlin Android扩展):

代码语言:javascript
复制
bottom_navigation_view.disableShiftMode()
票数 17
EN

Stack Overflow用户

发布于 2017-09-10 23:12:54

要禁用文本动画并减小字体大小,请在dimens.xml文件中使用以下命令:

代码语言:javascript
复制
<dimen name="design_bottom_navigation_text_size">10sp</dimen> 
<dimen name="design_bottom_navigation_active_text_size">10sp</dimen>
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40176244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档