2012-09-10 99 views
1

好吧」我有一個RelativeLayout的Android的相對佈局背景崩潰

<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"> 

和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> 

在加載將引發異常:android.view.InflateException在RelativeLayout的的路線。如果我刪除「android:background」,一切都很完美。 my_shape_normal有什麼問題?

+0

如果您的應用程序崩潰,最好包含您的LogCat錯誤。 – Sam

回答

5

當我切&粘貼您的XML我的logcat寫着:

Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #6 
    <gradient> tag requires 'angle' attribute to be a multiple of 45 

所以我已經更新了你的形狀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> 

通知我還結合相同的padding元素在shape中劃分爲一個屬性。

+1

你救了我的一天。非常感謝! – Nick