2013-01-03 128 views
2

我正在嘗試將背景紋理和邊框添加到按鈕。但我無法將這兩件事放在我的按鈕上。如何將邊框和背景圖像添加到按鈕

有了這個,我有我的背景圖片

<item> 
<bitmap android:src="@drawable/button_background" android:tileMode="repeat" /> 
</item> 

,並用這個,我前人的精力有一個邊界

<corners android:radius="5dp" /> 
    <stroke android:width="3px" android:color="#FFFFFF" /> 

我嘗試使用它們結合了<shape><layer-list>但我可以得到任何邊界或背景紋理。

+1

你可以讓你繪製的9patch:HTTP:/ /developer.android.com/tools/幫助/ draw9patch.html – Thommy

回答

5

9個補丁通常對於這種情況非常有用(請確保在SDK的tools目錄中使用draw9patch工具),但是如果您不想創建自己的圖形(請記住,您需要做幾個版本的每個分辨率),並希望使用XML,你可以做這樣的事情:

Red button

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" > 
     <shape> 
      <solid 
       android:color="#ef4444" /> 
      <stroke 
       android:width="1dp" 
       android:color="#992f2f" /> 
      <corners 
       android:radius="3dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <gradient 
       android:startColor="#ef4444" 
       android:endColor="#992f2f" 
       android:angle="270" /> 
      <stroke 
       android:width="1dp" 
       android:color="#992f2f" /> 
      <corners 
       android:radius="3dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 
</selector> 

來源:http://www.dibbus.com/2011/02/gradient-buttons-for-android/