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"?>     
初学Android,FrameLayout霓虹灯效果(五)_第1张图片
FrameLayout这个组件允许组件间的叠放,上面7个TextView叠放在一起就做成类似霓虹灯的效果

更多相关文章

  1. Android中自定义Dialog
  2. Android 自定义dialog 设置宽度
  3. Android圆形图片--自定义控件
  4. Android TabSwitcher自定义控件
  5. android根据应用方向自动旋转的自定义view
  6. Android 自定义控件 按钮滚动选择
  7. AndroidUI组件之RoomButton
  8. android自定义带图片的title

随机推荐

  1. Android编程权威指南之Activity的抽象类
  2. 将获取的html源代码格式化输出
  3. Bullet physics 先粘过来后期翻译
  4. Android中Scrollview上滑,顶端部分悬浮
  5. 获取磁盘存储目录
  6. android 状态栏字体颜色设置 黑色 anctiv
  7. android 登陆demo
  8. Wifi定位Gps
  9. 如何让你的Android显示gif格式的图片
  10. Android图形绘制基础(一)