Androidでshopの使用

5626 ワード

http://kofi1122.blog.51cto.com/2815761/521605
 
               ,                 ,   Android              ,   ,       。

Android     shape            ,      shape   , shape       ,    :

       :
        <shape>
            <!--    -->
            <solid android:color="#ff9d77"/>
            <!--    -->
            <gradient
                android:startColor="#ff8c00"
                android:endColor="#FFFFFF"
                android:angle="270" />
            <!--    -->
            <stroke
                android:width="2dp"
                android:color="#dcdcdc" />
            <!--    -->
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
solid:  ,       
android:color       

gradient:  
android:startColor android:endColor          ,ndroid:angle     ,   45    。
          android:type="linear",     ,           ,android:type="radial",          android:gradientRadius="50"。

stroke:  
android:width="2dp"      ,android:color      。
               ,     :
android:dashWidth="5dp" 
android:dashGap="3dp"
  android:dashWidth  '-'         ,android:dashGap         。

corners:  
android:radius     ,      。
                 ,   :
<corners 
        android:topRightRadius="20dp"       
        android:bottomLeftRadius="20dp"       
        android:topLeftRadius="1dp"       
        android:bottomRightRadius="0dp"       
 />
          ,bottomLeftRadius    ,      ,      ,       ,        。
            0dp  ,             ,    2.2,          ,            1dp 。

padding:  
        ,XML         。


       ,            :  Selector   Button   ,            、             ,      :

main.xml:
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TestShapeButton"
    android:background="@drawable/button_selector"
    />

button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <!--    -->
            <gradient
                android:startColor="#ff8c00"
                android:endColor="#FFFFFF"
                android:type="radial"
                android:gradientRadius="50" />
            <!--    -->
            <stroke
                android:width="2dp"
                android:color="#dcdcdc"
                android:dashWidth="5dp" 
                android:dashGap="3dp" />
            <!--    -->
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item android:state_focused="true" >
        <shape>
            <gradient
                android:startColor="#ffc2b7"
                android:endColor="#ffc2b7"
                android:angle="270" />
            <stroke
                android:width="2dp"
                android:color="#dcdcdc" />
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item>       
        <shape>
            <solid android:color="#ff9d77"/>
            <stroke
                android:width="2dp"
                android:color="#fad3cf" />
            <corners 
                android:topRightRadius="5dp"
                android:bottomLeftRadius="5dp"
                android:topLeftRadius="0dp"
                android:bottomRightRadius="0dp"
            />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>