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>
    
    
  • 相关阅读:
    .NET Core微服务开发服务间调用篇-GRPC
    .NET Core微服务开发网关篇-ocelot
    刷新.NET
    (译)An introduction to Kubernetes
    一文了解Nuget的使用
    .NET Core应用框架AA介绍(二)
    .NET Core 3.0 使用Nswag生成Api文档和客户端代码
    .NET core3.0 使用Jwt保护api
    阅读源码学设计模式-单例模式
    .NET Core 3.0 部署在docker上运行
  • 原文地址:https://www.cnblogs.com/yjpjy/p/11022049.html
Copyright © 2011-2022 走看看