Android选择器显示错误

时间:2015-03-09 12:03:57

标签: android

在我的android xml文件中,我有一个 edittext 。我试图自定义 edittext xml看起来像: -

 <EditText
            android:id="@+id/edi"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:layout_marginTop="10dp"
            android:layout_gravity="center"
            android:hint="Username"
            android:background="@layout/textbox001"
            android:drawableLeft="@drawable/usernameicon"
          / >

在布局中 textbox001 是: -

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

    <item android:state_pressed="true" >
        <shape>
            <gradient
                android:startColor="#e4e4e2"
                android:endColor="#d5d5d5"
                android:angle="270" />
            <stroke
                android:width="0dp"
                android:color="#282a2f" />
            <corners
                android:topLeftRadius="10dp"
        android:topRightRadius="10dp"
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
        android:endColor="#e4e4e2"
        android:startColor="#d5d5d5"
        android:angle="270"
 />
            <stroke
                android:width="0dp"
                android:color="#282a2f" />
            <corners
                android:topLeftRadius="10dp"
        android:topRightRadius="10dp"
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />

        </shape>
    </item>
</selector>

但它在selector..i.e中显示错误: -

element selector does not have  required attribute android:layout_width 
element selector does not have  required attribute android:layout_height

问题出在哪里???我该如何纠正? 在xml图形中,它还显示: -

The graphics preview in the layout editor may not be accurate:
Different corner sizes are not supported in Path.addRoundRect. (Ignore for this session)

2 个答案:

答案 0 :(得分:3)

它的工作正常:

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

    <item android:state_pressed="true" >
        <shape>
            <gradient
                android:startColor="#e4e4e2"
                android:endColor="#d5d5d5"
                android:angle="270" />
            <stroke
                android:width="0dp"
                android:color="#282a2f" />
            <corners
                android:topLeftRadius="10dp"
        android:topRightRadius="10dp"
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
        android:endColor="#e4e4e2"
        android:startColor="#d5d5d5"
        android:angle="270"
 />
            <stroke
                android:width="0dp"
                android:color="#282a2f" />
            <corners
                android:topLeftRadius="10dp"
        android:topRightRadius="10dp"
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />

        </shape>
    </item>
</selector>

答案 1 :(得分:3)

我认为你应该将你的选择器文件放在drawable文件夹中,而不是布局文件夹中!