java不断地将背景颜色逐渐更改为所有颜色
我一直在试图找到一种方法,将我相对布局的背景颜色逐渐更改为所有颜色,例如(软蓝色、蓝色、海军蓝、紫色等)。我现在的代码只是将颜色从黑色逐渐更改为白色。我将感谢任何可能得到的帮助或建议
这是我现在掌握的代码
layOut = (RelativeLayout)findViewById(R.id.relativeLayout2);
new Thread() {
int color = 0;
public void run() {
for (color = 0; color < 255; color++) {
try {
sleep(20);
runOnUiThread(new Runnable() {
@Override
public void run() {
layOut.setBackgroundColor(Color.argb(255,
color, color, color));
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();'`enter code here
# 1 楼答案
我认为这些事情实施起来很有趣。你只是在改变rgb值,所以你没有一个,只有三个颜色变量。例如:
因此,你可以分别计算颜色并应用它们(在本例中,分30个步骤)。希望它能工作,但还没有测试它,因为模拟器需要很长时间才能加载:(
# 2 楼答案
尝试对象动画与颜色属性,检查这个链接,它对你更有用
color animation using object animator
# 3 楼答案
同时更改RGB,使颜色从黑色过渡到白色。下面是我已经测试过的代码
我用HSV来做这个。(在RGB中,您需要维护所有三个变量,就像必须添加3个循环一样)。这是代码
希望它能帮助您,请随时提出任何进一步的疑问
# 4 楼答案
如果我理解您的问题,请更改
red
、green
和blue
颜色值。比如当你将三个通道设置为相同的值时,你会得到黑色(0),所有的灰色,然后是白色(255)(这就是颜色的工作原理)