【发布时间】:2022-01-03 18:58:47
【问题描述】:
我需要以编程方式创建 Button。我的按钮可以随机着色。但是,我需要设置按钮的背景颜色以及按钮处于 PRESSED 状态时的背景颜色。
也就是说,按钮在正常状态下的背景颜色应该与用户按下按钮时的背景颜色不同。
例如,当我需要一个按钮的不同背景时,根据状态,我使用选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_not_pressed" android:state_pressed="false" />
<item android:drawable="@drawable/shape_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/shape_not_pressed" />
</selector>
在我的 xml 按钮中:
android:background="@drawable/selector_button"
如果您提前了解所需的背景,这是一个可行的解决方案。但是,就我而言,我正在动态获取按钮的背景(pressed_bg 和 not_pressed_bg),因此这种方法对我不起作用。是否可以通过编程方式实现这一点?
附:我需要压制效果
请帮帮我。
【问题讨论】:
-
您想创建一个按钮,当您按下该按钮时,bg 颜色应该改变,按钮 bg 本身应该自动/随机改变,限制是 bg 颜色和背景颜色不应该相同我说对了吗?
-
是的,我需要一个按钮,让我获得正常状态下的背景颜色和按下状态下的背景颜色。
标签: android dynamic-programming android-drawable android-button android-styles