android 按钮点击更改背景色或背景图

首先在res文件夹下面创建一个drawable文件夹,然后在drawable文件夹下面创建一个xml文件用来控制按钮点击和默认背景

 

这里我创建一个xml为btn_style.xml文件,代码如下s

 

<?xml version="1.0" encoding="UTF-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/loginbtn_selected" />
    <item android:state_focused="true" android:state_enabled="true" 
    android:drawable="@drawable/loginbtn_selected" />
    <item android:state_enabled="true"
     android:drawable="@drawable/loginbtn_normal" />
</sselector>
这样声明,然后在按钮属性用background调用它就行啦
(另外建个,一来说说,创建项目自带的那三个是用来适用不同分辨率的,s不变的布局图片都是另外建的)
Android中,如果你想给按钮设置背景颜色,通常不直接通过drawable文件来实现,因为drawable主要是用于放置图像资源。不过,你可以创建一个带边框和填充颜色的shape drawable来模拟背景色,并将其应用到按钮上。 以下是一个简单的步骤: 1. **创建一个新的XML文件** (例如`button_background.xml`),内容如下: ```xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="@color/pressed_color" /> <!-- 按下的状态 --> <item android:state_focused="true" android:color="@color/focused_color" /> <!-- 获得焦点的状态 --> <item android:color="@color/default_color" /> <!-- 默认状态 --> </selector> ``` 这里`@color/pressed_color`, `@color/focused_color`, 和 `@color/default_color`分别是按下、获取焦点和默认状态的颜色资源引用。 2. **在`colors.xml`中定义颜色**: ```xml <color name="pressed_color">#FF007bff</color> <!-- 示例:蓝色 --> <color name="focused_color">#FF99CC00</color> <!-- 示例:浅绿色 --> <color name="default_color">#E6E6E6</color> <!-- 示例:灰色 --> ``` 3. **在布局文件(如`activity_main.xml`)中设置按钮并引用刚刚创建的drawable**: ```xml <Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_background" android:text="点击我"/> ``` 现在,当用户点击或聚焦按钮时,它的背景颜色会改变相应地。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值