【发布时间】:2014-08-03 14:32:20
【问题描述】:
目前ImageButton已经设置了android:background="@drawable/mem_btn",
mem_btn.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="0dp" android:color="@color/black" />
<solid android:color="@color/pressed"/>
<padding android:left="5dp" android:top="5dp"
android:right="5dp" android:bottom="5dp" />
<corners android:radius="14dp" />
</shape>
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="0dp" android:color="@color/black" />
<solid android:color="#3366CC"/>
<padding android:left="5dp" android:top="5dp"
android:right="5dp" android:bottom="2dp" />
<corners android:radius="14dp" />
</shape>
</item>
</selector>
以上工作完美。
问题:
我想让用户改变背景颜色:即用户选择的其他颜色,但是对于pressed_color,半径保持不变。
在这种情况下,如何以编程方式设置xml中的信息,使得非按下状态的颜色是一个变量?
谢谢!
【问题讨论】:
-
感谢您的参考。我试过了,它适用于非按下状态,但是按下时,仍然没有按下状态颜色...您知道如何实现吗?
标签: android colors imagebutton rounded-corners