Nic*_*ick 1 android background drawable relativelayout android-inflate
好吧'我有一个RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:background="@drawable/my_shape_normal"
android:onClick="startTestTillError">
Run Code Online (Sandbox Code Playgroud)
my_shape_normal定义为
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#FFFFFF00"
android:endColor="#80FFFFFF"
android:angle="120"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="8dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
在加载时会引发异常:在RelativeLayout行的android.view.InflateException.如果我删除"android:background",一切都很完美.my_shape_normal出了什么问题?
当我剪切和粘贴您的XML时,我的LogCat读取:
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #6
<gradient> tag requires 'angle' attribute to be a multiple of 45
Run Code Online (Sandbox Code Playgroud)
所以我更新了你的形状XML以反映这个要求:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:padding="7dp" >
<gradient
android:angle="135"
android:endColor="#80FFFFFF"
android:startColor="#FFFFFF00" />
<corners android:radius="8dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
注意我还将相同的padding元素组合成一个属性shape.
| 归档时间: |
|
| 查看次数: |
1378 次 |
| 最近记录: |