zoukankan      html  css  js  c++  java
  • 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>
    
    
  • 相关阅读:
    链接数据库
    Ajax 密码验证
    for循环 打印菱形 空 和 实
    for 循环 正方形
    面向对象
    用正则表达式 匹配手机号码
    正则表达式
    js 中 == 和=== 有什么区别?
    js 删除
    封装函数增删改查
  • 原文地址:https://www.cnblogs.com/yjpjy/p/11022049.html
Copyright © 2011-2022 走看看