美文网首页
Android9.0 BottomNavigationView设

Android9.0 BottomNavigationView设

作者: 512DIDIDI | 来源:发表于2019-12-29 11:13 被阅读0次

    BottomNavigationView默认是有icon+title的形式。可以通过覆盖其dimen属性,使其只显示icon居中效果,如下:

    <!--BottomNavigationView设置图标居中无title 复写其size方案-->
    <dimen name="design_bottom_navigation_text_size" tools:override="true">0sp</dimen>
    <dimen name="design_bottom_navigation_active_text_size" tools:override="true">0sp</dimen>
    <dimen name="design_bottom_navigation_height" tools:override="true">48dp</dimen>
    <dimen name="design_bottom_navigation_margin" tools:override="true">12dp</dimen>
    

    在Android9.0以下设备可以正常使用,但在Android9.0测试中,发现会出现如下错误信息:

    Caused by: java.lang.IllegalArgumentException: Cannot set 'scaleX' to Float.NaN
    E/AndroidRuntime:     at android.view.View.sanitizeFloatPropertyValue(View.java:16557)
    

    无法设置一个NaN数到scaleX变量上

    解决方案很简单,只要把design_bottom_navigation_text_sizedesign_bottom_navigation_active_text_size
    的覆盖方案改为大于0的数就行了:

    <!--BottomNavigationView设置图标居中无title 复写其size方案-->
    <dimen name="design_bottom_navigation_text_size" tools:override="true">0.1sp</dimen>
    <dimen name="design_bottom_navigation_active_text_size" tools:override="true">0.1sp</dimen>
    <dimen name="design_bottom_navigation_height" tools:override="true">48dp</dimen>
    <dimen name="design_bottom_navigation_margin" tools:override="true">12dp</dimen>
    
    android9.0设备运行效果图

    (初步猜想应该是android9.0更新了代码 把这两个dimen值作为除数了吧。。。)

    相关文章

      网友评论

          本文标题:Android9.0 BottomNavigationView设

          本文链接:https://www.haomeiwen.com/subject/fvkyoctx.html