2014-09-29 79 views
0

我正在嘗試製作帶有邊框的按鈕。但是,此邊框在不同的邊上需要不同的寬度,例如左側爲10px,右側爲rigt,頂部和底部爲5px。 我已經設法使用形狀創建一個10px邊框的矩形。代碼如下。我的問題是如何減少任意麪的邊界寬度?可變寬度按鈕佈局

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <gradient android:startColor="#FFFFFF" 
       android:endColor="#7A7A7A" 
       android:angle="270" /> 

      <corners android:radius="3dp" /> 
      <stroke android:width="10px" android:color="#000000" /> 
     </shape> 
    </item> 
</layer-list> 

回答

1

請檢查以下內容。

<?xml version=」1.0″ encoding=」utf-8″?> 
<selector xmlns:android=」http://schemas.android.com/apk/res/android&#8221; > 

<item android:state_pressed=」true」 > 
<shape> 
<solid 
android:color=」#4F3A1F」 /> 
<stroke 
android:width=」1dp」 
android:color=」#343434″ /> 
<corners 
android:radius=」3dp」 /> 
<padding 
android:left=」5dp」 
android:top=」5dp」 
android:right=」5dp」 
android:bottom=」5dp」 /> 
</shape> 
</item> 
<item> 
<shape> 
<gradient 
android:startColor=」#453422″ 
android:endColor=」#956C36″ 
android:angle=」270″ /> 
<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> 
+0

上面的代碼允許我通過更改第一項的填充來完成我想要的操作。但我很難理解爲什麼這是行得通的。你能詳細說明一下嗎? – Jasper 2014-09-29 16:02:14

+0

好吧,如果它工作正常,請接受支持 – 2014-09-30 05:03:36

+0

的答案我現在已經明白了。我會接受答案,因爲它幫助了我,但是你可以提供更多的信息,而不是隻發佈一堆代碼... – Jasper 2014-09-30 09:26:25