2014-04-08 2 views
4

xml에 정의 된 여러 모양을 Android의 버튼 배경으로 사용하려면 어떻게해야합니까?Android : 버튼 배경으로 여러 모양 사용

I과 같은 여러 형태의 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> 

그리고 난 버튼 배경 multishapes를 사용하려면 : -

<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"/> 

어떻게 결국 여러 모양을 결합 할 수 있습니다 그렇게 버튼으로 : -?

button

답변

5

해보십시오 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> 
0

당신이 좋아하는 shape.xml 시도 할 수 있습니다 :

<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>