package cn.sunmeng.FrameLayoutTest;import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.TextView;public class FrameLayoutTestActivity extends Activity {       private int currentColor = 0;       //定义一个颜色数组       final int[] colors = new int[]       {              R.color.color7,              R.color.color6,              R.color.color5,              R.color.color4,              R.color.color3,              R.color.color2,              R.color.color1,       };       final int[] names = new int[]       {              R.id.View01,              R.id.View02,              R.id.View03,              R.id.View04,              R.id.View05,              R.id.View06,              R.id.View07       };       TextView[] views = new TextView[7];    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        for (int i = 0 ; i < 7 ; i++)              {                     views[i] = (TextView)findViewById(names[i]);              }              final Handler handler = new Handler()              {                     @Override                     public void handleMessage(Message msg)                     {                            //表明消息来自本程序所发送                            if(msg.what == 0x1122)                            {                                   //依次改变7个TextView的背景色                                   for(int i = 0 ; i < 7 - currentColor ; i++)                                     {                                          views[i].setBackgroundResource(colors[i + currentColor]);                                   }                                   for(int i = 7 - currentColor , j = 0 ; i < 7 ; i++ ,j++)                                   {                                          views[i].setBackgroundResource(colors[j]);                                   }                            }                            super.handleMessage(msg);                     }              };              //定义一个线程周期性的改变currentColor变量值              new Timer().schedule(new TimerTask()              {                     @Override                     public void run()                     {                            currentColor++;                            if(currentColor >= 6)                            {                                   currentColor = 0;                            }                            //发送一条消息通知系统改变7个TextView组件的背景色                            Message m = new Message();                            //给该消息定义一个标识                            m.what = 0x1122;                            handler.sendMessage(m);                       }                          }, 0 , 100);       }}

Color.xml配置文件

<?xml version="1.0" encoding="utf-8"?>    #330000    #550000    #770000    #990000    #bb0000    #dd0000    #ff0000
Main.xml配置文件

<?xml version="1.0" encoding="utf-8"?>     

FrameLayout这个组件允许组件间的叠放,上面7个TextView叠放在一起就做成类似霓虹灯的效果

更多相关文章

  1. TimePicker组件&DatePicker组件
  2. Android圆形图片--自定义控件
  3. Android(安卓)自定义dialog 设置宽度
  4. Android圆形图片--自定义控件
  5. android 拖动条改变屏幕亮度
  6. Android(安卓)TabSwitcher自定义控件
  7. android MediaPlayer 错误代码(error code)总结
  8. android根据应用方向自动旋转的自定义view
  9. AndroidUI组件之RoomButton

随机推荐

  1. Android(安卓)文件保存与读取
  2. Android(安卓)彻底退出自己APP 并杀掉所
  3. Android(安卓)UI学习系列
  4. android:name属性加不加“.”
  5. flutter包名,应用名称,图标,启动图片修改
  6. Android的版本的介绍
  7. 技巧: 如何安装apk文件在android仿真器中
  8. Android(安卓)Hello World
  9. Android(安卓)9.0 修改默认壁纸(主壁纸和w
  10. Android四种Activity的加载模式