android - 如何在用户单击并释放按钮时更改android按钮的颜色

标签 android

你好,我是 Android 新开发者,也是新开发者。我想在用户单击时更改按钮的颜色并在用户释放时重置颜色。请告诉我我该怎么做? 这是我用作按钮背景的布局文件`

<solid android:color="@android:color/transparent"/>
<stroke android:width="2dp" android:color="#FFFFFF"/>
<corners android:bottomRightRadius="16dp"
  android:bottomLeftRadius="16dp"
  android:topLeftRadius="16dp"
  android:topRightRadius="16dp"/>

`

最佳答案

在按下状态下使用您想要的颜色制作另一个可绘制对象。并制作一个像这样的可绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/btn_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/btn_pressed" android:state_focused="true"></item>
<item android:drawable="@drawable/btn_normal"></item>

使用 btn_pressed 作为按下状态的可绘制对象,使用 btn_normal 作为普通可绘制对象。

关于android - 如何在用户单击并释放按钮时更改android按钮的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24321589/

相关文章:

java - Android 每秒更新 UI 16 次

c# - 如何强制在 chrome android 上内联打开 pdf 文档?

android - 如果 key 存在,如何防止将数据添加到 Firebase

android - 获取公共(public)推文 Twitter API 1.1

android - alignparentbottom 用于 ScrollView 中的相对布局

android - 如何在 Jetpack Compose 中分分钟重构?

Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 在现实生活中多久返回一次 null?

android - 我的 wap 有很多错误让我很困惑

android SQLite 不遵守 "not null"约束

android - sqlite 将 'dd.MM.yyyy' 格式的字符串转换为日期