TextInputLayout低版本bug :“android.view.InflateException: Binary XML file line #6 : Error inflating class Textview”


  開發中用到TextInputLayout配合TextInputEdittext做輸入框,在android7.0 android8.0手機上運行正常,在異步android5.0.2的手機上,點擊輸入框就報錯:“android.view.InflateException: Binary XML file line #6 : Error inflating class Textview”。而實際上報錯的xml並非是當前頁面的布局文件,因為布局里面textview根本就沒有設置其他屬性,經過各種排查,最后發現問題出現在給TextInputLayout設置主題屬性的時候,通常我們會通過此方法更改提示文字的樣式和下划線的樣式

   android:theme="@style/txt_lab"

txt_lab為我用到的樣式,最開始是這個樣子的

    <style name="txt_lab" parent="TextAppearance.AppCompat">
        <!--&lt;!&ndash; 默認狀態提示顏色和字體&ndash;&gt;-->
        <item name="android:textColorHint">@color/white</item>
        <item name="android:textSize">15sp</item>
         <!--下面可以根據需要設置,如果沒有將默認使用默認theme的顏色-->
         <!--Label標簽的顏色-->
        <item name="colorAccent">@color/white</item>
        <!-- 默認狀態狀態設置底線顏色 -->
        <item name="colorControlNormal">@color/white</item>
        <!-- 選擇的底線顏色 -->
        <item name="colorControlActivated">@color/white</item>
        <item name="passwordToggleTint">@color/snow</item>
        <item name="colorControlHighlight">@color/snow</item>
    </style>

注意他的parent我設置的是TextAppearance,就會出現文中提到的bug

修改成下面的Theme.Appcompat就行了

 

    <style name="txt_lab" parent="Theme.AppCompat.Light.NoActionBar">
        <!--&lt;!&ndash; 默認狀態提示顏色和字體&ndash;&gt;-->
        <item name="android:textColorHint">@color/white</item>
        <item name="android:textSize">15sp</item>
         <!--下面可以根據需要設置,如果沒有將默認使用默認theme的顏色-->
         <!--Label標簽的顏色-->
        <item name="colorAccent">@color/white</item>
        <!-- 默認狀態狀態設置底線顏色 -->
        <item name="colorControlNormal">@color/white</item>
        <!-- 選擇的底線顏色 -->
        <item name="colorControlActivated">@color/white</item>
        <item name="passwordToggleTint">@color/snow</item>
        <item name="colorControlHighlight">@color/snow</item>
    </style>

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM