Android中通过xml改变背景及文字颜色

时间:2023-03-09 04:38:51
Android中通过xml改变背景及文字颜色

原创文章,转载请注明出处,谢谢!

本篇主要介绍Android开发中,通过XML资源文件来设置控件在不同状态下的背景及文字颜色。关于xml改变背景及文字颜色的原理,大家可以去看一下郭霖大神的源码分析文章,

传送门:Android视图状态及重绘流程分析,带你一步步深入了解View(三)

这部分内容不难理解,但是很容易忘记,并且网上相关的文章都比较零散,没有进行汇总。所以才有了我写这篇博客的初衷,给自己作一个详细总结,也给新手开发者一点帮助,老鸟

飘过。

一、通过xml文件给控件设置边框,圆角,渐变色

作为Android开发者,我们很多时候做开发并没有美工的支持,这时候我们需要设计一些相对比较漂亮的界面效果,就需要借助于android为我们提供的原始设计界面的方式,通过xml。

以下分别是不同情况下的设计方式和基本原理,请注意详细的代码注释。

1.设置边框,见下图:

Android中通过xml改变背景及文字颜色Android中通过xml改变背景及文字颜色

2.设置单边和不同颜色的多边框:

Android中通过xml改变背景及文字颜色Android中通过xml改变背景及文字颜色

3.设置圆角:

Android中通过xml改变背景及文字颜色Android中通过xml改变背景及文字颜色

4.设置渐变色:

Android中通过xml改变背景及文字颜色Android中通过xml改变背景及文字颜色

二、给控件设置在不同状态下的背景色或背景图片

1.设置不同状态背景色

Android中通过xml改变背景及文字颜色

未点击                                                                                          点击下

Android中通过xml改变背景及文字颜色

2.不同状态下的背景图片:

Android中通过xml改变背景及文字颜色

未点击                         点击

Android中通过xml改变背景及文字颜色Android中通过xml改变背景及文字颜色

3.不同状态背景与边框,圆角等相结合

Android中通过xml改变背景及文字颜色

Android中通过xml改变背景及文字颜色Android中通过xml改变背景及文字颜色

 三.不同状态下的文字颜色

给文字定义在不同状态下的颜色时,同样是使用selector这个TAG,但是与背景颜色定义不同的是:

文字颜色在selector使用的是color属性,而背景颜色使用的是drawable属性。

例如:

Android中通过xml改变背景及文字颜色

!!!注意:定义文字颜色的selector文件可以放在drawable文件夹下,引用时使用@drawable/selector.xml

可以在res下新建一个color文件夹,专门存放文字颜色的selector文件(个人强烈推荐此种方式,容易区分文字颜色和背景),

此时引用时要使用@color/selector.xml

见下图:

Android中通过xml改变背景及文字颜色

好了,到此为止,基本上把Android中通过xml来改变控件背景色和文本颜色的相关知识说完了。相信读者看了这篇文章,应改对

xml定义颜色有了一个非常清晰的认识。

由于作者水平所限,如果有任何问题,欢迎随时交流。