Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:使用多个形状作为按钮背景_Android_Android Custom Drawable - Fatal编程技术网

Android:使用多个形状作为按钮背景

Android:使用多个形状作为按钮背景,android,android-custom-drawable,Android,Android Custom Drawable,如何使用xml中定义的多个形状作为android中按钮的背景 假设我有多个形状xml文件,例如:- <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#eeffffff" /> <corners android:bottomRightRadius="8dip"

如何使用xml中定义的多个形状作为android中按钮的背景

假设我有多个形状xml文件,例如:-

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">
    <solid android:color="#eeffffff" />
    <corners android:bottomRightRadius="8dip"
        android:bottomLeftRadius="8dip"  
        android:topRightRadius="8dip"
        android:topLeftRadius="8dip"/>
</shape>

我想在按钮背景中使用多个形状:-

<Button
    android:id="@+id/funkyButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:text="@string/txt_higher" 
    android:background="@drawable/funkyShape"/>

如何将多个形状组合成这样的按钮:-


试试funkyShape.xml,比如:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape android:shape="rectangle">
        <size 
            android:width="100dp"
            android:height="40dp" />
        <solid android:color="#ff0000" />
        <corners android:radius="30dp"/>
    </shape>
</item>

<item
    android:top="10dp"
    android:left="10dp"
    android:right="60dp"
    android:bottom="10dp">
    <rotate
        android:fromDegrees="45"
        android:toDegrees="45">
        <shape android:shape="rectangle">
            <solid android:color="#ffff00" />
            <corners android:radius="5dp"/>
        </shape>
    </rotate>
</item>

<item
    android:top="5dp"
    android:left="55dp"
    android:right="5dp"
    android:bottom="5dp">
    <shape android:shape="oval">
        <solid android:color="#0000ff" />
    </shape>
</item>

</layer-list>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape android:shape="rectangle" >
        <solid android:color="#E1BEE7" />
    </shape>
</item>
<item
    android:bottom="10dp"
    android:left="10dp"
    android:right="160dp"
    android:top="10dp">
    <shape android:shape="rectangle" >
        <solid android:color="#ff5722" />
        <corners android:radius="10dp" />
    </shape>
</item>
<item
    android:bottom="10dp"
    android:left="100dp"
    android:right="10dp"
    android:top="10dp">
    <shape
        android:innerRadius="15dp"
        android:shape="ring"
        android:thickness="10dp"
        android:useLevel="false" >
        <gradient
            android:angle="270"
            android:endColor="#e1bee7"
            android:startColor="#e040fb" />
    </shape>
</item>
<item
    android:bottom="10dp"
    android:left="250dp"
    android:right="50dp"
    android:top="10dp">
    <shape
        android:innerRadius="10dp"
        android:shape="oval" >
        <solid android:color="#8bc34a" />
    </shape>
</item>

</layer-list>

您可以尝试shape.xml,如:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape android:shape="rectangle">
        <size 
            android:width="100dp"
            android:height="40dp" />
        <solid android:color="#ff0000" />
        <corners android:radius="30dp"/>
    </shape>
</item>

<item
    android:top="10dp"
    android:left="10dp"
    android:right="60dp"
    android:bottom="10dp">
    <rotate
        android:fromDegrees="45"
        android:toDegrees="45">
        <shape android:shape="rectangle">
            <solid android:color="#ffff00" />
            <corners android:radius="5dp"/>
        </shape>
    </rotate>
</item>

<item
    android:top="5dp"
    android:left="55dp"
    android:right="5dp"
    android:bottom="5dp">
    <shape android:shape="oval">
        <solid android:color="#0000ff" />
    </shape>
</item>

</layer-list>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape android:shape="rectangle" >
        <solid android:color="#E1BEE7" />
    </shape>
</item>
<item
    android:bottom="10dp"
    android:left="10dp"
    android:right="160dp"
    android:top="10dp">
    <shape android:shape="rectangle" >
        <solid android:color="#ff5722" />
        <corners android:radius="10dp" />
    </shape>
</item>
<item
    android:bottom="10dp"
    android:left="100dp"
    android:right="10dp"
    android:top="10dp">
    <shape
        android:innerRadius="15dp"
        android:shape="ring"
        android:thickness="10dp"
        android:useLevel="false" >
        <gradient
            android:angle="270"
            android:endColor="#e1bee7"
            android:startColor="#e040fb" />
    </shape>
</item>
<item
    android:bottom="10dp"
    android:left="250dp"
    android:right="50dp"
    android:top="10dp">
    <shape
        android:innerRadius="10dp"
        android:shape="oval" >
        <solid android:color="#8bc34a" />
    </shape>
</item>

</layer-list>