使用xml文件作为可绘制资源

时间:2012-12-01 18:51:27

标签: android drawable

我的drawable目录中有一个名为off.xml的xml文件(应该是一个红色圆圈)......

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" >
<gradient android:startColor="#FFFF0000" android:endColor="#FFFF0000"
    android:angle="270"/>

在我的主页上,我有以下xml ...

<LinearLayout android:layout_width="match_parent"
    android:layout_height="50dip" android:orientation="horizontal">    
<View android:layout_width="40dip"
    android:layout_height="0dip"  android:layout_weight="1"
    android:background="@drawable/off" />
</LinearLayout>

我收到错误“无法将@ drawable / off转换为drawable。红色圆圈没有显示。 (我在那里放了一个按钮,以确保显示另一个小部件)

导致此错误的原因。我从这个论坛的另一个帖子中得到了一个应该有效的例子。 谢谢,加里

3 个答案:

答案 0 :(得分:1)

你的@ drawable / off布局应该是

<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
  <item><shape android:shape="oval">
    <gradient android:startColor="#FFFF00" android:endColor="#FFFF00"
      android:angle="270"/>
    </shape></item>
</selector>

答案 1 :(得分:1)

试试这个:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <gradient
        android:angle="270"
        android:endColor="#FFFF0000"
        android:startColor="#FFFF0000" />

</shape>

答案 2 :(得分:1)

两个问题:您的drawable中缺少结束</shape>标记,并且您的视图的layout_height为0或方向错误。