1. 程式人生 > >Android給button某條邊繪製邊框線

Android給button某條邊繪製邊框線

以下是設定按鈕的底邊框顏色為bule,邊框大小為2dp,如下圖:


在drawable新建一個 buttonstyle.xml的檔案,內容如下:

這種方式中,每個item相當於一個顏色塊,使用白色的顏色快蓋住藍色的顏色塊,但是露出了藍色塊下方的一部分

<?xml version="1.0" encoding="UTF-8"?>    
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">     
<!-- 邊框顏色值 --><item>     
      <shape>     
            <solid android:color="#3bbaff" />     
      </shape>     
</item>     
<!-- 主體背景顏色值 -->    
<item android:bottom="2dp">     
     <shape>     
           <solid android:color="#ffffff" />           
           <padding android:bottom="10dp"    
                android:left="10dp"    
                android:right="10dp"    
                android:top="10dp" />    
     </shape>         
</item>    
</layer-list> 

然後在佈局檔案裡面的Button裡面設定如下:

<Button    
   android:id="@+id/button1"    
   android:layout_width="wrap_content"    
   android:layout_height="wrap_content"    
   android:text="Button1"    
   android:background="@drawable/buttonstyle" /> 

另一種寫法:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:top="-4dp"
        android:right="-4dp"
        android:left="-4dp"> <!-- 會使上左右三條邊不可見,值與邊框粗細有關,邊框為xdp時,這裡設定為-(x+1)dp -->
        <shape>
            <solid android:color="#0000" />   <!-- 主體背景顏色值,此處為透明 -->
            <stroke
                android:width="3dp"       <!-- 邊框粗細與顏色配置 -->
                android:color="#3bbaff" />
        </shape>
    </item>

</layer-list>