android 中改变按钮按下时的颜色

Android实现点击时按钮颜色改变 (附完整源码) Android实现点击时按钮颜色改变 (附完整源码) 阅读详情


大家在开发一定遇到过这样的情况,当选中某个按钮时让它处于高亮显示:下面我们就一起讨论一下:

a、在开发中大家都会遇到这样情况,在一个xxx.xml文件中如果有两个以上的组件有一样的属性功能时,可以把它们共同的内容抽取出来放在styles.xml文件来声明。

然后在相应的组件中可以这样引用 : style="@style/widget_listview"

style标签也可以这样来定义:res-----values------styles.xml

<style name="widget_listview">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_weight">1</item>
        <item name="android:listSelector">@drawable/listview_item_selector</item>
        <item name="android:divider">@drawable/listview_divider_line</item>
        <item name="android:dividerHeight">1.0dip</item>
        <item name="android:fadingEdge">none</item>
        <item name="android:scrollingCache">false</item>
    </style>


b、在一个布局中如果有一组按钮在相应的被选中时改变颜色(这组按钮不是数组),此时可以这样定义:在drawable 文件下添加一个selector_btn.xml文件

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="true" android:drawable="@drawable/frame_button_n"></item> <!-- 正常情况下 -->
    <item android:state_enabled="false" android:drawable="@drawable/frame_button_p"></item> <!-- 按下时按钮的变化 -->
</selector> 


在引用时可以直接用 android:background="@drawable/selector_btn" ,注意红色部分的属性,不能写成 state_pressed 这个属性,为了防止界面中重复点击按钮事件,所以在单击按钮时可以这样来传入

  articleManager.setOnClickListener(frameArticleBtnClick(articleManager, 1));
  /**
     * @param btn
     * @param flag
     *            记录哪个按钮被选中
     * @return 当按下相应的按钮时颜色发生变化,并且该按钮处于不可重复点击状态
     */
    private OnClickListener frameArticleBtnClick(final Button btn, final int flag) {
        return new OnClickListener() {
            @Override
            public void onClick(View v) {
                if (btn == articleManager) {
                    articleManager.setEnabled(false);
                } else
                    articleManager.setEnabled(true);
                if (btn == articleTypeManager) {
                    articleTypeManager.setEnabled(false);
                } else
                    articleTypeManager.setEnabled(true);
                currentFlagBtn = flag;
            }
        };
    }


c.这样就可以显示出按钮高亮的效果了

(2) 对于按钮的操作还有另一种情况:
当按钮获得焦点时,让它改变颜色,当失去焦点时在还原,同样也是在drawable 目录下创建一个 .xml 文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/btn_bg_press" android:state_pressed="true"/><!-- 获得焦点时的动作 -->
    <item android:drawable="@drawable/btn_bg_normal"/><!-- 正常情况下 -->

</selector>

在程序中引用时  android:background="@drawable/btn_bg_selector" 即可。


WOA-Kmeans多特征分类预测:MATLAB实现与GUI设计 聚类分析是数据挖掘的核心技术,Kmeans算法因其简洁高效被广泛应用,但随机初始质心导致结果不稳定。元启发式优化通过模拟自然行为寻找全局最优解,其中鲸鱼优化算法(WOA)以参数少、平衡探索与开发著称。将WOA与Kmeans融合,可自动优化初始质心,显著提升多特征分类预测的准确率和鲁棒性。该方案适用于特征维度高、类别边界模糊的场景,如医学诊断、图像分割和客户细分。MATLAB凭借强大的矩阵运算和App Designer,能快速实现算法验证与GUI交互。本文详解WOA-Kmeans的目标函数设计、参数调优及避坑 阅读详情

相关推荐

modbus-esp8266库深度解析:工业级Modbus协议栈实现

Modbus是一种广泛应用于工业自动化领域的通用串行通信协议,其核心在于标准化的功能码、寄存器模型与帧结构设计。基于RTU、ASCII和TCP三种传输变体,Modbus协议通过主从架构实现设备间可靠数据交互,具备低开销、高兼容性与强实时性等技术价值。在边缘计算与工业物联网场景中,它被广泛用于PLC通信、传感器数据采集、HMI集成及远程固件升级(FOTA)等关键任务。针对ESP8266/ESP32等Wi-Fi微控制器平台,modbus-esp8266库提供了完整协议栈支持,涵盖多实例并发、回调驱动架构、零拷贝

weixin_42315569的博客 349

如何自定义mui按钮被按下时的颜色

mui的按钮被按下时的颜色主要是通过修改样式来实现的,即未被按下时是一种颜色,被按下时是另一种颜色。&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;meta name="viewport" content="width=device-width,initial-s

qq_36317441的博客 4578

10分钟快速搭建OpenClaw(基于Windows+飞书)

OpenClaw 是一款功能强大的 AI 智能体工具,能够帮助用户管理邮件、日历等日常事务。本文详细介绍了在 Windows11 系统上安装和配置 OpenClaw 的完整步骤,包括 Node.js 环境搭建、Git 安装、OpenClaw 部署以及飞书机器人创建与对接。通过简单的命令行操作和可视化界面配置,用户可以快速完成 AI 助手部署,实现智能办公自动化。文中还提供了飞书机器人权限设置等关键环节的图文指引,帮助用户轻松完成系统集成。

Hello, New World! 2923

标准Android按钮具有不同的颜色

我想稍微更改标准Android按钮的颜色,以便更好地匹配客户的品牌。 到目前为止,我发现这样做的最好方法是将Button的drawable更改为res/drawable/red_button

p15097962069的博客 885

什么是PMOS?什么是NMOS?两者有什么区别?

这个电压差被称为阈值电压(Vth),通常为0.7V至2V(低压NMOS)或4V至10V(功率NMOS)。当Vgs(栅极-源极电压)大于Vth时,沟道中的电子被吸引到栅极下方,形成导电通路,使电流可以从漏极流向源极。NMOS与PMOS的结构类似,都由三大部分组成:栅极(Gate)、源极(Source)和漏极(Drain)。由于NMOS在开启时,电子是主要的载流子,电子的迁移率比空穴高,因此NMOS通常具有更低的导通电阻(Rds(on)),这使其成为高速开关电路中的首选。它的沟道由电子(负载子)传导。

硅农深芯的博客 6431

【制作100个unity游戏之30】使用unity实现一款2d俯视角RPG战斗游戏,主要使用InputSystem+有限状态机+A*寻路实现(完结,附带项目源码)

【制作100个unity游戏之30】使用unity实现一款2d俯视角RPG战斗游戏,主要使用InputSystem+有限状态机+A*寻路实现

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4651

在android中如何点击按钮实现按钮文本颜色变换?

android中点击按钮,按钮的文字颜色改变,点击别的按钮,该按钮恢复正常颜色,另外的按钮文本颜色改变

m0_53743933的博客 5554

从零手搓大模型(一)文本如何变成 LLM 的输入

本文介绍了从原始文本到LLM输入向量的完整处理流程。主要内容包括: 文本预处理:通过正则表达式将原始文本分割成token列表,处理标点和空格。 词表构建:创建token到ID的映射字典(vocabulary),这是文本数字化的关键步骤。 简单tokenizer实现:封装了编码(encode)和解码(decode)功能,完成文本与token ID的相互转换。 处理流程:原始文本 → 分词 → token ID → 嵌入表示 → 最终输入向量。 数据形状变化:从字符串逐步转换为(batch_size, cont

echo的博客 998

Android按钮按下的时候改变颜色/图片

Ⅰ、按下改变颜色 一、效果图 需求就是,在用户按下选中的按钮时,按钮的颜色变成自己想要的颜色,用于提示用户,当前按钮正在被按下;松开手后,按钮颜色恢复原状。话不多说先上效果图。 二、实现步骤 1、在res的drawable文件夹下,新建一个bt_selector.xml文件,文件内容如下: <?xml version="1.0" encoding="utf-8...

qq_30432883的博客 9812

在 SAP BTP ABAP 环境中测试多租户 SaaS 解决方案的完整实践指南

ABAP SaaS测试阶段关键实践 在SAP BTP ABAP环境中开发多租户SaaS解决方案时,测试阶段(TST)对确保产品质量尤为关键。测试阶段应包含两个主要维度: 业务功能验证: 通过软件组件管理确保测试环境与代码仓库同步 创建并验证业务角色分配,确保权限配置正确 测试Fiori Launchpad导航流程和跨应用跳转 验证inbound/outbound通信配置 自动化质量管控: 在开发环境(DEV)执行本地ATC检查和单元测试 通过ABAP Test Cockpit(ATC)进行代码质量检查 集成

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 295

第五节_PySide6基本窗口控件_主窗口和标签

本文介绍了PySide6中主窗口和标签控件的使用。主要内容包括: 窗口控件分类: QWidget是基础窗口部件,可作为独立窗口或子部件 QMainWindow提供标准应用程序框架,包含菜单栏、工具栏等 QDialog用于对话框,支持模态交互 主窗口创建: 演示了如何创建QMainWindow子类 实现了窗口居中、设置图标、状态栏等功能 提供了窗口几何信息的获取方法 QLabel标签控件: 继承自QFrame类 用于显示文本或图像 文章通过代码示例详细说明了主窗口的创建和使用方法,包括位置控制、图标设置等常见

su桥木的博客 1021

安卓开发--按键背景图片,按键其他属性,按键按键按下变色

安卓开发--按键背景图片,按键其他属性,按键按键按下变色

LQ_001的博客 813

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Android实现点击时按钮颜色改变(附带源码)

Android实现点击时按钮颜色改变(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1058

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android 点击按钮时改变颜色

在按下按钮时,按钮颜色改变,当松开的时候,变回原来的颜色,使用户感觉到自己按了按钮。 当很多按钮都需要这样的效果时就比较方便。 首先,在res文件夹下新建一个文件夹drawable(这是无关分辨率的): 在下面建立一个xml文件:btn_selector.xml,添加代码:<selector xmlns:android="http://schemas.android.com/apk/res/a

景上 的博客 3910

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 按钮按下时改变字体颜色

1.新建 drawable/button_font_style.xml ? 1 2 3 4 5 6 xml version="1.0" encoding="utf-8"?> selector xmlns:android="http://schemas.android.com/apk/res/android">

viz 1548

Android 按钮按下时改变字体颜色

1.新建 drawable/btn_font_color.xml 2.添加至需要的xml里 android:textColor="@drawable/btn_font_color"

a623891391的专栏 897

Android 实现点击时按钮颜色改变

Android 实现点击时按钮颜色改变一、把xml文件的某个控件的src属性设置为android:src=”@drawable/xxx_selector” 2、创建xxx_selector.xml文件,并编写如下代码: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.co

cchangcs 5122

Android中的Button自定义点击效果之改变点击时按钮的颜色

在Android中定义按钮的点击效果可以通过自定义selector,通过设置两张不同的背景图片来改变点击时和未点击时的状态,但有时候仅仅只想改变点击时按钮的颜色,但是在selector中并不能直接定义颜色。下面代码实现一个点击按钮时仅仅改变按钮颜色。 1. 在drawable目录下面定义:button_press.xml<shape xmlns:android="http://schemas.a

有图有真相 1万+

点击按钮变色,松开按钮恢复原来的颜色

  安卓软件中有这样一种效果:假设一个按钮是绿色,当你点击时变成黄色,松开时又变回绿色。现在介绍怎么实现这种效果 第一种方法:资源文件写法   在主布局文件中定义一个按钮   然后在value文件夹下的color.xml文件中定义要用的颜色 定义完颜色后在背景文件drawable文件下新建一个布局用于添加动作,下图btn.xml    ...

alex_wen2014的博客 2893
上一篇: 去掉拼接字符串后的最后一个逗号
下一篇: Java 中把一个字符串反转
冰糖心书房
博客等级 码龄15年 6014粉丝 690原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰糖心书房

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值