有时候我们不满足于系统控件的外观要改变一些背景,文字颜色等,这些属性可以在代码里更改,随便哪种控件,我们点,后面会出来一大串set开头的方法。但是在代码里这样改来改去还是比较麻烦的,如果同样的控件多了,重复的代码也比较多。控件的这些属性也是可以在xml文件里改的,同样的控件多了,还是会带来代码的重复。这进我们就可以用设置控件样子式的方法了。下面以EditText控件为例来说明如何来设置一个控件的样式,工程序源码可以在后面下载;
第一步建立一个新的工程,在main布局里面建立三个EditText控件。
第二步在工程的res/values文件夹下新建一个xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>#1A4EA4 #FFF111 #A6C60F #EC02C3
第三步我们修改main布局文件中EditText的属性。为了对比,我们将第一个属性将做改变,第二个的style属性设为我们上面建立的name为et1的样式。第三个的style属性设为我们上面建立的name为et2的样式,代码如下:
<?xml version="1.0" encoding="utf-8"?>
加了一个改变主题的按钮是无效的,下一篇会用到它来设置主题。虽然定义好了style文件,但似乎并不能在java代码里设置,我没有发现像setStyle()这样的方法。所以就不 能在java代码里能过style文件动态改变控件的样式, 不知道哪位仁兄可以解决此问题,特在此求教了。
无图无真相,下面是截图: