2014-09-29 67 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