当前位置:   article > 正文

android theme 错误,android – 错误:IllegalArgumentException:此组件上的样式要求您的应用主题为Theme.MaterialComponents...

android android:theme.material 报错 apptheme

以下是我的依赖

implementation 'com.google.android.material:material:1.0.0'

implementation 'androidx.appcompat:appcompat:1.0.2'

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

我的Layout.XML

xmlns:app="http://schemas.android.com/apk/res-auto"

android:id="@+id/main_content"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#ffffff"

android:fitsSystemWindows="true">

android:id="@+id/bottomBar"

style="@style/Widget.MaterialComponents.BottomAppBar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="bottom"

android:backgroundTint="@color/colorPrimary"

app:fabAlignmentMode="center"

app:fabCradleMargin="10dp"

app:fabCradleVerticalOffset="4dp"

app:navigationIcon="@drawable/ic_drawer" >

android:id="@+id/fab"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

app:layout_anchor="@id/bottomBar"

app:srcCompat="@drawable/ic_apps" />

上面的代码对我来说很好

但是当我更新材料设计的依赖关系时

implementation 'com.google.android.material:material:1.1.0-alpha01'

我低于错误

java.lang.RuntimeException: Unable to start activity ComponentInfo{neel.com.bottomappbar/neel.com.bottomappbar.MainActivity}: android.view.InflateException: Binary XML file line #11: Binary XML file line #11: Error inflating class com.google.android.material.bottomappbar.BottomAppBar

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2485)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)

at android.app.ActivityThread.access$1100(ActivityThread.java:151)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:157)

at android.app.ActivityThread.main(ActivityThread.java:5602)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

Caused by: android.view.InflateException: Binary XML file line #11: Binary XML file line #11: Error inflating class com.google.android.material.bottomappbar.BottomAppBar

at android.view.LayoutInflater.inflate(LayoutInflater.java:543)

at android.view.LayoutInflater.inflate(LayoutInflater.java:427)

at android.view.LayoutInflater.inflate(LayoutInflater.java:374)

at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)

at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)

at neel.com.bottomappbar.MainActivity.onCreate(MainActivity.kt:16)

at android.app.Activity.performCreate(Activity.java:6358)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2438)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)

at android.app.ActivityThread.access$1100(ActivityThread.java:151)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:157)

at android.app.ActivityThread.main(ActivityThread.java:5602)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class com.google.android.material.bottomappbar.BottomAppBar

at android.view.LayoutInflater.createView(LayoutInflater.java:649)

at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:768)

at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708)

at android.view.LayoutInflater.rInflate(LayoutInflater.java:839)

at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802)

at android.view.LayoutInflater.inflate(LayoutInflater.java:519)

at android.view.LayoutInflater.inflate(LayoutInflater.java:427)

at android.view.LayoutInflater.inflate(LayoutInflater.java:374)

at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)

at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)

at neel.com.bottomappbar.MainActivity.onCreate(MainActivity.kt:16)

at android.app.Activity.performCreate(Activity.java:6358)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2438)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)

at android.app.ActivityThread.access$1100(ActivityThread.java:151)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:157)

at android.app.ActivityThread.main(ActivityThread.java:5602)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

Caused by: java.lang.reflect.InvocationTargetException

at java.lang.reflect.Constructor.newInstance(Native Method)

at android.view.LayoutInflater.createView(LayoutInflater.java:623)

at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:768)

at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708)

at android.view.LayoutInflater.rInflate(LayoutInflater.java:839)

at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802)

at android.view.LayoutInflater.inflate(LayoutInflater.java:519)

at android.view.LayoutInflater.inflate(LayoutInflater.java:427)

at android.view.LayoutInflater.inflate(LayoutInflater.java:374)

at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)

at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)

at neel.com.bottomappbar.MainActivity.onCreate(MainActivity.kt:16)

at android.app.Activity.performCreate(Activity.java:6358)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2438)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)

at android.app.ActivityThread.access$1100(ActivityThread.java:151)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:157)

at android.app.ActivityThread.main(ActivityThread.java:5602)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

Caused by: java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).

at com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:240)

at com.google.android.material.internal.ThemeEnforcement.checkMaterialTheme(ThemeEnforcement.java:215)

at com.google.android.material.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:143)

at com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes(ThemeEnforcement.java:78)

at com.google.android.material.bottomappbar.BottomAppBar

解决方法:

材料存在一些问题:1.1.0-alpha01

简单两解

1st Solution

更改父主题

2nd solution

使用材料设计的旧依赖关系直到稳定版本

implementation 'com.google.android.material:material:1.0.0'

希望这对其他人有帮助

标签:android,android-layout,material-design,bottombar

来源: https://codeday.me/bug/20190827/1745730.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/257948
推荐阅读
相关标签
  

闽ICP备14008679号