button的一些使用小常识(点击效果,button圆角,边框线的实现)

本文介绍了如何在Android中通过XML在drawable中创建形状,实现Button的点击效果、圆角和边框线。详细讲解了shape元素的stroke、corners、padding等属性的用法,并展示了如何设置按钮的背景和点击状态的改变。同时提到了文字颜色的修改方法。

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

  • 在drawable中创建一个xml的文件:
    <?xml version="1.0" encoding="utf-8"?><!--android:shape属性代表绘制的图形形状 retangle;矩形,oval:椭圆 ,line:线 ring,环形-->
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">

        <!--stroke主要给我们所要画的图形进行描边 color:边框颜色,width:边框宽度,dashGap:虚线框的间隔,dashWidth:虚线框的宽度-->
        <stroke
            android:width="1dp"
            android:color="@color/colorHuise" />
        <!--corners主要是设置我们所画图形四个角的半径 radius:四角半径 bottomLeftRadius:半径,
     14     bottomRightRadius:半径,topLeftRadius:半径,topRightRadius:半径-->
        <corners android:radius="1dp" />
        <!--padding主要设置内边距,也就是你装载的内容(大部分是Textview或者button)离图形边框的距离
    23     bottom:下内边距,left:左内边距,right:右内边距,top:上内边距-->
        <padding
            android:bottom="5dp"
            android:left="5dp"
            android:right="5dp"
            android:top="5dp" />
        <!--这个就不需要讲了吧-->
        <!--<size />-->
        <!--主要设置你所画图形的填充色-->
        <solid android:color="@color/colorBaise" />
        <!--gradient主要指定一个渐变颜色的形状。-->
        <!--<gradient-->
        <!--android:angle="###"-->
        <!--android:centerColor="###"-->
        <!--android:centerX="###"-->
        <!--android:centerY="###"-->
        <!--android:endColor="###"-->
        <!--android:gradientRadius="###"-->
        <!--android:startColor="###"-->
        <!--android:type="###"-->
        <!--android:useLevel="###" />-->
    </shape>
    随后在<button>控件中使用,
    android:background="@drawable/button_ys";
  • button的点击效果:
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">

        <!-- 获得焦点但未按下时的背景图片 -->
        <item android:drawable="@color/colorbaise"  android:state_enabled="true" android:state_focused="true" android:state_pressed="false" />
        <!-- 按下时的背景图片 -->
        <item android:drawable="@color/colorbaise" android:state_enabled="true" android:state_pressed="true" />
        <!-- 按下时的背景图片 -->
        <item android:drawable="@color/colorbaise" android:state_checked="true" android:state_enabled="true" />
        <!-- 默认时的背景图片 -->
        <item android:drawable="@color/colortianlanse" />
    </selector>
  • 样式和点击效果的统一:
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">

        <!-- 获得焦点但未按下时的背景图片 -->
        <item android:drawable="@color/colorbaise"  android:state_enabled="true" android:state_focused="true" android:state_pressed="false" />
        <!-- 按下时的背景图片 -->
        <item android:drawable="@color/colorbaise" android:state_enabled="true" android:state_pressed="true" />
        <!-- 按下时的背景图片 -->
        <item android:drawable="@color/colorbaise" android:state_checked="true" android:state_enabled="true" />
        <!-- 默认时的背景图片 -->
        <!--<item android:drawable="@color/colortianlanse" />-->
        <item android:drawable="@drawable/button_custom" />
    </selector>
  • 关键就是最后一句。
  • 至于修改button中的文字颜色,可以看我的另外一篇博客



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值