Android给button某条边绘制边框线

本文介绍如何通过XML定义样式来实现Button控件的蓝色底部边框效果,包括两种不同的实现方式,一种是利用layer-list结合shape元素进行绘制,另一种则是直接使用stroke属性设定边框宽度与颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是设置按钮的底边框颜色为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>



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值