在R.java中新建自定义的新类

今天在写Android程序的时候,需要引用R.java文件中一些资源。如:R.color.color1

但是我弄了半天都不能在R.java文件中新建color的新类,原因很简单,R.java是不能被编辑的。虽然一早就知道这一点,不过我还是想试一试,不过事实证明,R.java文件是不能被编辑的。

然后我就想能不能通过在res文件夹下新建一个新的文件夹来搞定,事实证明,我又逗逼了。。。

我们应该在res/values下新建一个colors.xml文件,当然如果不建也是可以的,在我们默认的strings.xml里写标签也是可以的,不过作为一个正常人都应该这样写是一种不伦不类的做法。

当我们的colors.xml文件新建完成后,我们在文件里写如下代码:

<?xml version="1.0" encoding="utf-8"?>
<resources> 
    <color name="color1">#00f</color>
    <color name="color2">#0f0</color>
    <color name="color3">#f00</color>
    <color name="color4">#0ff</color>
    <color name="color5">#f0f</color>
    <color name="color6">#f00</color>
</resources> 

然后我们就可以在R.java文件中看到我们思慕已久的

public static final class color {
        public static final int color1=0x7f040000;
        public static final int color2=0x7f040001;
        public static final int color3=0x7f040002;
        public static final int color4=0x7f040003;
        public static final int color5=0x7f040004;
        public static final int color6=0x7f040005;
    }

这样在我们的Activity文件中就可以做一个这样的引用:

final int[] colors = new int[]{
	R.color.color1,
	R.color.color2,
	R.color.color3,
	R.color.color4,
	R.color.color5,
	R.color.color6
};


原文地址:https://www.cnblogs.com/fengju/p/6336180.html