01-23 09:07:52.570:E / AndroidRuntime(2007):android.view.InflateException:二进制XML文件行#50:错误导致类形状
我在xml文件上实现SHAPE(这是一个椭圆形)时遇到了这个错误。这有什么问题?我错过了什么吗?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="10dp" >
<TextView
android:id="@+id/recName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
/>
<shape android:shape="oval">
<solid android:color="#9F2200"/>
<stroke android:width="2dp" android:color="#fff" />
<size android:width="80dp" android:height="80dp"/> </shape>
</RelativeLayout>
答案 0 :(得分:6)
1)你不应该在布局文件中创建形状。
2)你必须创建shape文件作为drawable文件夹的一部分。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="10dp" >
<TextView
android:id="@+id/recName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@drawable/customdrawable"
/>
</RelativeLayout>
右键单击Drawable文件夹并在drawable文件夹中创建一个新的android xml:
<shape android:shape="oval">
<solid android:color="#9F2200"/>
<stroke android:width="2dp" android:color="#fff" />
<size android:width="80dp" android:height="80dp"/> </shape>
使用customdrawable.xml名称保存此文件
答案 1 :(得分:2)
形状是Drawable
而不是View
。
您要做的是创建一个单独的可绘制XML文件。在您的布局中使用ImageView
并将背景设置为您创建的可绘制文件。