定义颜色值
values目录中创建colors
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorname1">#ff0000</color>
<color name="colorname2">#ff0020</color>
<color name="colorname3">#ff0040</color>
<color name="colorname4">#ff0060</color>
<color name="colorname5">#ff0080</color>
<color name="colorname6">#ff00a0</color>
<color name="colorname7">#ff00c0</color>
<color name="colorname8">#ff00ff</color>
</resources>
布局的定义layout下
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/color0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#ff20ff"
android:height="200dp"
android:width="200dp" />
<TextView
android:id="@+id/color1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#ff20c0"
android:height="180dp"
android:width="180dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:width="160dp"
android:height="160dp"
android:background="#ff20a0"
android:id="@+id/color2"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="140dp"
android:height="140dp"
android:layout_gravity="center"
android:background="#ff2080"
android:id="@+id/color3"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="120dp"
android:height="120dp"
android:layout_gravity="center"
android:background="#ff2060"
android:id="@+id/color4"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="100dp"
android:height="100dp"
android:layout_gravity="center"
android:background="#ff2040"
android:id="@+id/color5"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="80dp"
android:height="80dp"
android:layout_gravity="center"
android:background="#ff2020"
android:id="@+id/color6"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:height="60dp"
android:layout_gravity="center"
android:background="#ff2000"
android:id="@+id/color7"/>
</FrameLayout>
类中代码的实现
package cn.csdn.class3g;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
public class LampChangeActivity extends Activity {
//从R.JAVA类中获取颜色值
private int[] colornames=new int[]{
R.color.colorname8,
R.color.colorname7,
R.color.colorname6,
R.color.colorname5,
R.color.colorname4,
R.color.colorname3,
R.color.colorname2,
R.color.colorname1,
};
//获取颜色布局
private int[] colors=new int[]{
R.id.color0,
R.id.color1,
R.id.color2,
R.id.color3,
R.id.color4,
R.id.color5,
R.id.color6,
R.id.color7
};
View view[]=new View[8]; //创建view视图
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
for(int i=0;i<8;i++){
view[i]=(View) findViewById(colors[i]);
} //循环获取颜色边框
final MyHandler myHandler=new MyHandler();
myHandler.sleep(100); //停歇100毫秒
}
class MyHandler extends Handler{
int i=0;
public void handleMessage(Message msg){
i++;
if(i>=7){
i=1;
}
for(int m=8-i,n=0;m<8;m++,n++){
view[m].setBackgroundResource(colornames[n]);
} //背景循环渐变
for(int m=0;m<8-i;m++){
view[m].setBackgroundResource(colornames[m+i]);
}
// 背景变化完更新
sleep(100);
}
public void sleep(int j){
sendMessageDelayed(obtainMessage(0),j);
}
}
}