2015-04-04 66 views
0

我有一個名爲playnext的XML文件。我將這個文件作爲背景添加到了我的按鈕中.XML包含兩個用於按下按鈕和釋放按鈕的圖像。我需要使用XML爲這兩個圖像添加邊框。在Android中使用xml添加邊框到按鈕

XML代碼

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="false" android:drawable="@drawable/ic_remote_playnext" ></item> 
    <item android:state_pressed="true" android:drawable="@drawable/next_pressdown" ></item> 
</selector> 

請告訴我如何添加邊框嗎?是否有任何其他方式爲按鈕添加邊框?

+1

http://stackoverflow.com/questions/3263611/border-for-an-image-view-in-android – azmuhak 2015-04-04 18:03:29

+0

我試過了也。當我添加它將替換背景圖像。 – 2015-04-04 18:07:49

回答

2

進行繪製XML作爲選擇

<?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="yoursolidcolor for state pressed" /> 
     <stroke 
      android:width="1dp" 
      android:color="#171717" /> 
     <corners 
      android:radius="3dp" /> 
     <padding 
      android:left="5dp" 
      android:top="5dp" 
      android:right="5dp" 
      android:bottom="5dp" /> 
    </shape> 
</item> 
<item> 
    <shape> 
     <solid 
      android:color="#yoursolidcolor for default" /> 
     <stroke 
      android:width="0dp" 
      android:color="#171717" /> 
     <corners 
      android:radius="4dp" /> 
     <padding 
      android:left="5dp" 
      android:top="5dp" 
      android:right="5dp" 
      android:bottom="5dp" /> 
    </shape> 
</item> 
</selector> 

然後

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/youraboveselectoe" 
    android:textColor="@color/white" 
    android:text="Button"/> 

你也可以檢查這個

Is it possible to specify border in android button?

+0

如何在按下時添加圖像以及默認? – 2015-04-04 18:20:33

+1

冷杉,你可以按照這個鏈接的答案。 http://stackoverflow.com/questions/10449311/android-selector-with-background-image-and-gradient – Sadiq 2015-04-04 18:33:04

0

請繪製XML和呼叫添加以下代碼這個XML就像使用

  android:background="@drawable/border" 

border.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFad eDuration="@integer/short_anim_time"> 

<item android:drawable="@color/orange" android:state_pressed="true" /> 



<item android:drawable="@color/white" android:state_focused="true" /> 

<item android:drawable="@color/white" /> 

<item> 
    <shape> 
     <stroke android:width="2dp" android:color="@color/orange" /> 

     <padding android:bottom="@dimen/gap" android:left="@dimen/gap" android:right="@dimen/gap" android:top="@dimen/gap" /> 
    </shape> 
</item>