自定义按钮样式

本文介绍了在Android开发中自定义按钮样式的两种常见方法:一是利用图片资源和selector XML实现圆弧按钮;二是通过编写XML样式文件动态设定按钮的按下前和按下后效果。详细步骤包括创建drawable资源、编写XML代码并应用到布局中。

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

只有苦练七十二变,才能笑对八十一难,戏里如此,人生亦然。————六小龄童
安卓也是如此。

在Android开发中经常会使用到自定义button样式,下面来讲解一下常用的实现办法。

第一种方式,用图片来实现:

首先要在res目录下,创建一个drawable文件夹,来存放样式的xml;如下图:就按图片操作
drawable文件夹中创建一个xml文件(button_selector.xml);如图
就这样
在darawable-dpi文件夹放好UI提供的图片,
图片:public_bt_blue_unselect图片:public_bt_blue_select
然后button_selector.xml中代码:

<?xml version="1.0" encoding="utf-8"?>
<selector  xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 按下时的背景图片 -->
    <item android:drawable="@drawable/public_bt_blue_select" android:state_selected="true"></item>
    <item android:drawable="@drawable/public_bt_blue_select" android:state_pressed="true"></item>
    <!-- 默认时的背景图片 -->
    <item android:drawable="@drawable/public_bt_blue_unselect"></item>
</selector>

最后在布局button按钮中添加 android:background=”@drawable/button_selector”

 <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_selector"
        android:textColor="#ffffff"
        android:textSize="14sp"
        android:text="点我呗" />

最后效果就是
点击前效果 点击后效果

这种就是就简单的实现圆弧按钮了;
第二种方法是写xml样式;
其实和第一种很像,换汤不换药
要在drawable文件夹中创建两个xml样式文件(blue_corners.xml按下前样式)和(blue_corners1.xml按下后样式);如下图:
就这样
blue_corners.xml中样式代码

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
<!-- 填充颜色 -->
<solid android:color="#4294e8"></solid>
<!-- 线的宽度,颜色灰色 -->
<stroke android:width="0dp" android:color="#cccccc"></stroke> 
<!-- 矩形的圆角半径 -->
<corners android:radius="3dp" /> 
</shape>

blue_corners1.xml中样式代码,其实跟blue_corners.xml就是更改一点属性,其他没变

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
 <!-- 填充颜色 -->
<solid android:color="#3483d4"></solid>
<!-- 线的宽度,颜色灰色 -->
<stroke android:width="0dp" android:color="#cccccc"></stroke> 
<!-- 矩形的圆角半径 -->
<corners android:radius="3dp" /> 
</shape>

然后button_selector.xml中代码:更替换图片一样

<?xml version="1.0" encoding="utf-8"?>
<selector  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/blue_corners1" android:state_selected="true"></item>
    <item android:drawable="@drawable/blue_corners1" android:state_pressed="true"></item>
    <item android:drawable="@drawable/blue_corners"></item>
</selector>

最后在布局button按钮中添加 android:background=”@drawable/button_selector”

<Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_selector"
        android:textColor="#ffffff"
        android:textSize="14sp"
        android:text="点我呗" />

具体效果大家自己尝试下,体验一下哈。

上面所述两种方式,都是最常见的,虽然还有可以用view写按钮,但这里不具体介绍。

第一次写博客不习惯,虽然很简单的一篇,但花了不少时间,还缺少好多,希望体谅,一起学习。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值