二进制 XML 文件第 1 行:错误膨胀类 android.support.design.widget.AppBarLayout [英] Binary XML file line #1: Error inflating class android.support.design.widget.AppBarLayout
问题描述
大家好
在这种情况下有很多线程可用......我尝试了一切但没有运气.我是 android 背景的新手..我是 c# 家伙,现在我在使用 xamarin droid...所以任何人都可以解释错误是什么.这个解决方案不仅适用于 **PRE 棒棒糖设备 **.
我的布局
<android.support.design.widget.AppBarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><android.support.v7.widget.Toolbarandroid:id="@+id/工具栏"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"app:layout_scrollFlags="scroll|enterAlways"app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/></android.support.design.widget.AppBarLayout><android.support.v7.widget.RecyclerViewandroid:id="@+id/masonry_grid"android:layout_width="match_parent"android:layout_height="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior"/></android.support.design.widget.CoordinatorLayout>
我是使用 appcompact 主题
值/Style.xml
<item name="android:windowBackground">@drawable/splashscreen</item><item name="android:windowNoTitle">true</item><item name="android:windowIsTranslucent">false</item><item name="android:windowIsFloating">false</item><item name="android:backgroundDimEnabled">true</item></风格><style name="AppTheme" parent="Base.Theme"></风格><style name="Base.Theme" parent="Theme.AppCompat.Light.DarkActionBar"><item name="colorPrimary">@color/DarkOrangeLight</item><item name="colorPrimaryDark">@color/DarkOrange</item><item name="colorAccent">@color/DarkOrangeAcent</item><item name="windowActionBarOverlay">true</item><item name="android:windowBackground">@color/bg</item><item name="windowActionBar">false</item><item name="windowActionBarOverlay">false</item><item name="windowNoTitle">true</item><!-- 在此处自定义您的主题.--></风格></资源>
Values-21 \styles.xml
我的主要活动
protected override void OnCreate(Bundle bundle){base.OnCreate(捆绑);尝试{SetContentView(Resource.Layout.MansoryLayout);}捕获(异常前){Console.WriteLine(ex.Message);}}
我在调用 setcontentview 方法时遇到错误....
详细的异常是:
{Android.Views.InflateException:抛出了Android.Views.InflateException"类型的异常.在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000b] 在/Users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptionDispatchInfo.cs:61在 Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (IntPtr jobject, IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00084] 在/Users/builder/data/lanes/1978/f98871a9/source/monodroid/src/Monodroid.Android/src/运行时/JNIEnv.g.cs:1029在 Android.App.Activity.SetContentView (Int32 layoutResID) [0x00070] 在/Users/builder/data/lanes/1978/f98871a9/source/monodroid/src/Mono.Android/platforms/android-22/src/generated/Android.App.Activity.cs:5500在 test.Droid.Activity.MoviesActivity+d__16.MoveNext () [0x00041] 在 E:\project\test\test\test\test.Droid\Activity\MoviesActivity.cs:92--- 托管异常堆栈跟踪结束 ---android.view.InflateException:二进制 XML 文件第 1 行:错误膨胀类 android.support.design.widget.AppBarLayout在 android.view.LayoutInflater.createView(LayoutInflater.java:620)在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)在 android.view.LayoutInflater.rInflate(LayoutInflater.java:755)在 android.view.LayoutInflater.inflate(LayoutInflater.java:492)在 android.view.LayoutInflater.inflate(LayoutInflater.java:397)在 android.view.LayoutInflater.inflate(LayoutInflater.java:353)在 android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)在 md57bfe09fe2721efc565bcf4b957f437a7.MoviesActivity.n_onCreate(本机方法)在 md57bfe09fe2721efc565bcf4b957f437a7.MoviesActivity.onCreate(MoviesActivity.java:46)在 android.app.Activity.performCreate(Activity.java:5231)在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2151)在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)在 android.app.ActivityThread.access$800(ActivityThread.java:138)在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)在 android.os.Handler.dispatchMessage(Handler.java:102)在 android.os.Looper.loop(Looper.java:136)在 android.app.ActivityThread.main(ActivityThread.java:5095)在 java.lang.reflect.Method.invokeNative(Native Method)在 java.lang.reflect.Method.invoke(Method.java:515)在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)在 dalvik.system.NativeStart.main(本机方法)引起:java.lang.reflect.InvocationTargetException在 java.lang.reflect.Constructor.constructNative(Native Method)在 java.lang.reflect.Constructor.newInstance(Constructor.java:423)在 android.view.LayoutInflater.createView(LayoutInflater.java:594)……还有 23 个引起:android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f0b00d9 a=2 r=0x7f0b00d9}在 android.content.res.Resources.loadDrawable(Resources.java:2068)在 android.content.res.TypedArray.getDrawable(TypedArray.java:602)在 android.support.design.widget.AppBarLayout.<init>(AppBarLayout.java:139)
我已将软件包添加到我的解决方案中
你可能扩展了 Activity
而不是 AppCompatActivity
.此外,您的主题需要一个合适的父主题.
还要确保您接到了这个电话:
protected override void OnCreate(Bundle bundle){SetTheme(Resource.Style.AppTheme);base.OnCreate(捆绑)
这解决了我的问题.
Hello Everyone
There are many threads avilable in this case ... I was tried everything but no luck . I was new to android background..Iam c# guy,now iam work with xamarin droid...So can anyone explain what is the error.this solution not working only **PRE lolipop devices **.
My layout
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/quickreturn_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/masonry_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
I was Use appcompact Theme
Values/Style.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="Theme.Splash"
parent="@android:style/Theme.Holo.Light">
<item name="android:windowBackground">@drawable/splashscreen</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
<style name="AppTheme" parent="Base.Theme">
</style>
<style name="Base.Theme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/DarkOrangeLight</item>
<item name="colorPrimaryDark">@color/DarkOrange</item>
<item name="colorAccent">@color/DarkOrangeAcent</item>
<item name="windowActionBarOverlay">true</item>
<item name="android:windowBackground">@color/bg</item>
<item name="windowActionBar">false</item>
<item name="windowActionBarOverlay">false</item>
<item name="windowNoTitle">true</item>
<!-- Customize your theme here. -->
</style>
</resources>
Values-21 \styles.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="AppTheme" parent="Base.Theme">
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/DarkOrange</item>
</style>
</resources>
My Main Activity
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
try
{
SetContentView(Resource.Layout.MansoryLayout);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
i got error on setcontentview Method once called ....
Detailed exception IS:
{Android.Views.InflateException: Exception of type 'Android.Views.InflateException' was thrown.
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in /Users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptionDispatchInfo.cs:61
at Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (IntPtr jobject, IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00084] in /Users/builder/data/lanes/1978/f98871a9/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:1029
at Android.App.Activity.SetContentView (Int32 layoutResID) [0x00070] in /Users/builder/data/lanes/1978/f98871a9/source/monodroid/src/Mono.Android/platforms/android-22/src/generated/Android.App.Activity.cs:5500
at test.Droid.Activity.MoviesActivity+<OnCreate>d__16.MoveNext () [0x00041] in E:\project\test\test\test\test.Droid\Activity\MoviesActivity.cs:92
--- End of managed exception stack trace ---
android.view.InflateException: Binary XML file line #1: Error inflating class android.support.design.widget.AppBarLayout
at android.view.LayoutInflater.createView(LayoutInflater.java:620)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
at md57bfe09fe2721efc565bcf4b957f437a7.MoviesActivity.n_onCreate(Native Method)
at md57bfe09fe2721efc565bcf4b957f437a7.MoviesActivity.onCreate(MoviesActivity.java:46)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2151)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)
at android.app.ActivityThread.access$800(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5095)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
... 23 more
Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f0b00d9 a=2 r=0x7f0b00d9}
at android.content.res.Resources.loadDrawable(Resources.java:2068)
at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
at android.support.design.widget.AppBarLayout.<init>(AppBarLayout.java:139)
I have added package to my solutions are
i have attached screen shoot of error Message
You probably extend Activity
not AppCompatActivity
.
Also, your theme needs a proper parent.
<style name="AppTheme" parent="Theme.AppCompat">
Also make sure you have this call:
protected override void OnCreate(Bundle bundle)
{
SetTheme(Resource.Style.AppTheme);
base.OnCreate(bundle)
This solved my problem.
这篇关于二进制 XML 文件第 1 行:错误膨胀类 android.support.design.widget.AppBarLayout的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!