Android9.0 BottomNavigationView設(shè)置Icon居中無title出現(xiàn)Cannot set 'scaleX' to Float.NaN的解決方案

BottomNavigationView默認(rèn)是有icon+title的形式??梢酝ㄟ^覆蓋其dimen屬性,使其只顯示icon居中效果,如下:

<!--BottomNavigationView設(shè)置圖標(biāo)居中無title 復(fù)寫其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以下設(shè)備可以正常使用,但在Android9.0測試中,發(fā)現(xiàn)會出現(xiàn)如下錯誤信息:

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

無法設(shè)置一個NaN數(shù)到scaleX變量上

解決方案很簡單,只要把design_bottom_navigation_text_size,design_bottom_navigation_active_text_size
的覆蓋方案改為大于0的數(shù)就行了:

<!--BottomNavigationView設(shè)置圖標(biāo)居中無title 復(fù)寫其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設(shè)備運行效果圖

(初步猜想應(yīng)該是android9.0更新了代碼 把這兩個dimen值作為除數(shù)了吧。。。)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容