使用xml时,如何在按下按钮时更改文本和背景颜色?
要更改文字颜色,我可以这样做:
<selector xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:state_pressed="true" androID:color="mycolor"/> <item androID:color="mycolor2/></selector>
要改变我可以做的背景(在带有可绘制参考的选择器/项目中使用它):
<shape xmlns:androID="http://schemas.androID.com/apk/res/androID"> <solID androID:color="#FF0079FF" /></shape>
但我怎么能两个都做?假设我想拥有:
>默认值:黑色文本/白色背景
>按下:白色文字/蓝色背景
编辑:回答
我完全忘了背景和文字颜色是分开管理的,所以我就是这样做的:
<button androID:textcolor="@color/filtersbuttoncolors" androID:background="@drawable/mybackgroundcolors" />
在mybackgroundcolors.xml中我管理背景,在filtersbuttoncolors.xml中我管理文本颜色.在两个xml文件中我管理状态(按下,选中,默认)
解决方法:
这是一个drawable的例子,默认情况下是白色,按下时是黑色:
<?xml version="1.0" enCoding="utf-8"?><selector xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:state_pressed="true"> <shape> <solID androID:color="#1E669B"/> <stroke androID:wIDth="2dp" androID:color="#1B5E91"/> <corners androID:radius="6dp"/> <padding androID:bottom="10dp" androID:left="10dp" androID:right="10dp" androID:top="10dp"/> </shape> </item> <item> <shape> <gradIEnt androID:angle="270" androID:endcolor="#1E669B" androID:startcolor="#1E669B"/> <stroke androID:wIDth="4dp" androID:color="#1B5E91"/> <corners androID:radius="7dp"/> <padding androID:bottom="10dp" androID:left="10dp" androID:right="10dp" androID:top="10dp"/> </shape> </item></selector>
总结 以上是内存溢出为你收集整理的Android:更改按钮文字和背景颜色全部内容,希望文章能够帮你解决Android:更改按钮文字和背景颜色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)