发现奇怪的布局 InflateException
Found Weird layout InflateException
我发现了一个奇怪的异常 android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class <unknown>.
并且此异常仅发生在 api 21 及以下我的适配器 class 中我正在膨胀布局的 rootView 中。
rootView = inflater.inflate(R.layout.custom_layout, parent, false);
这是我的背景文件:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/holo_red_dark" />
<corners android:radius="5dp" />
</shape>
</item>
<item
android:bottom="2dp"
android:left="0dp"
android:right="0dp"
android:top="0dp">
<shape android:shape="rectangle">
<solid android:color="@color/login_back" />
<corners android:radius="5dp" />
</shape>
</item>
</layer-list>
这是我的xml:
这是我在代码中使用的 xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_height="match_parent"
tools:layout_editor_absoluteY="25dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll_top"
android:layout_alignParentTop="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal"
android:background="@drawable/my_background"
>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ll_top"
android:layout_marginTop="-20dp"
android:orientation="vertical">
</LinearLayout>
</RelativeLayout>
我认为您使用的是与低 API 不兼容的东西。
我确定您正在使用 ripple ,因此请使用低 api 版本的选择器更改它,因为低 api 版本不支持它。
我发现了一个奇怪的异常 android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class <unknown>.
并且此异常仅发生在 api 21 及以下我的适配器 class 中我正在膨胀布局的 rootView 中。
rootView = inflater.inflate(R.layout.custom_layout, parent, false);
这是我的背景文件:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/holo_red_dark" />
<corners android:radius="5dp" />
</shape>
</item>
<item
android:bottom="2dp"
android:left="0dp"
android:right="0dp"
android:top="0dp">
<shape android:shape="rectangle">
<solid android:color="@color/login_back" />
<corners android:radius="5dp" />
</shape>
</item>
</layer-list>
这是我的xml: 这是我在代码中使用的 xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_height="match_parent"
tools:layout_editor_absoluteY="25dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll_top"
android:layout_alignParentTop="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal"
android:background="@drawable/my_background"
>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ll_top"
android:layout_marginTop="-20dp"
android:orientation="vertical">
</LinearLayout>
</RelativeLayout>
我认为您使用的是与低 API 不兼容的东西。 我确定您正在使用 ripple ,因此请使用低 api 版本的选择器更改它,因为低 api 版本不支持它。