Android API24以上Error inflating class android.support.design.widget.TabLayout

  在API23中使用了TabLayout,在升级到API24进行编译后,程序运行时出现了如下错误:
  

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.demo/com.example.demo.activity.ViewPagerActivity}: android.view.InflateException: Binary XML file line #106: Binary XML file line #11: Error inflating class android.support.design.widget.TabLayout

下面是我xml中TabLayout的配置:

        .support.design.widget.TabLayout
                   android:id="@+id/projecttabs"
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:layout_below="@+id/tv_project"
                   app:tabGravity="fill"
                   app:tabIndicatorHeight="1dp"
                   app:tabSelectedTextColor="@color/black"
                   app:tabTextAppearance="@style/CustomTabTextAppearance"
                   app:tabTextColor="@color/gray" />

styles:

--tab样式-->
    

  注意:以上代码在API23中一切正常。在API24中运行时报错,需要使用Theme.AppCompat风格。
  
  下面看解决方法:
  
  1. style中声明:

    <style name="AppBaseTheme" parent="Theme.AppCompat.Light">

    style>
    
    <style name="AppTheme" parent="AppBaseTheme">
        -- Customize your theme here. -->
        --<item name="android:windowNoTitle">trueitem>-->
        <item name="colorPrimary">@color/colorPrimary
        "colorPrimaryDark">@color/colorPrimaryDark
        "colorAccent">@color/colorAccent
    style>

  2. 清单文件中声明application风格如下:

    "com.xx.android.application.App"
        android:allowBackup="true"
        android:icon="@mipmap/xx"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"

好了,经过以上两步就可以使用API24了。

效果如下:

Android API24以上Error inflating class android.support.design.widget.TabLayout_第1张图片

你可能感兴趣的:(安卓学习,安卓UI,遇到过的安卓问题)