选择器的奇怪行为

时间:2012-05-15 06:32:07

标签: android android-layout

我想用渐变填充颜色创建带有圆角矩形边框的布局 所以我使用了以下选择器

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item>

    <shape>

        <gradient
            android:angle="90"
            android:startColor="#FFFF0000"
            android:endColor="#FF00FF00"
            android:type="linear" />

        <padding android:left="7dp" android:top="7dp" 
            android:right="7dp" android:bottom="7dp" /> 

        <corners android:radius="4dp" /> 

    </shape>

</item>

</selector>

,布局看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"  android:background="@drawable/buttonsborder">


</LinearLayout>

但是它没有填充我在布局上放置的所有控件,任何想法如何使选择器填充整个布局,即使没有控件

3 个答案:

答案 0 :(得分:1)

将布局高度更改为fill_parent

答案 1 :(得分:1)

plz

在xml中使用它

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
    android:angle="225"
    android:endColor="#FF0E2E57"
    android:paddingLeft="20dip"
    android:startColor="#FF0E2E57" />

<corners
    android:bottomLeftRadius="40dp"
    android:bottomRightRadius="40dp"
    android:paddingLeft="20dip" 
    android:topLeftRadius="40dp"
    android:topRightRadius="40dp"/>

并以此为背景。在布局中

答案 2 :(得分:0)

您可以将此xml用于圆角矩形边框,然后在android:background

中设置它
<
?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item>        
            <shape>
                <gradient
                    android:endColor="#ffffff"
                    android:startColor="#ffffff"
                    android:angle="270" />
                <stroke
                    android:width="0.5dp"
                    android:color="#808080" />
                <corners
                    android:radius="10dp" />
                <padding
                    android:top="10dp"
                    android:bottom="10dp"
                    android:left="10dp" />
            </shape>
        </item>
    </selector>