android帧布局以及注意事项
来源:互联网 发布:宇宙中的生命 知乎 编辑:程序博客网 时间:2024/05/25 12:20
用李刚书中的教程做出了一个关于帧布局的弥红灯效果:
我把相关代码贴出来,xml档:
<FrameLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:id= "@+id/ll" android:layout_width= "match_parent" android:layout_height= "match_parent" > <TextView android:id ="@+id/v1" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_gravity ="center" android:width ="320dp" android:height ="320dp" /> <TextView android:id ="@+id/v2" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_gravity ="center" android:width ="280dp" android:height ="280dp" /> <TextView android:id ="@+id/v3" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_gravity ="center" android:width ="240dp" android:height ="240dp" /> <TextView android:id ="@+id/v4" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_gravity ="center" android:width ="200dp" android:height ="200dp" /> <TextView android:id ="@+id/v5" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_gravity ="center" android:width ="160dp" android:height ="160dp" /> <TextView android:id ="@+id/v6" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_gravity ="center" android:width ="120dp" android:height ="120dp" /></ FrameLayout>
,。这个就很简单了。、 。。 主要是这里看一下相关代码:
package com.dsun.first;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.view.Menu;import android.widget.TextView;public class MainActivity extends Activity { private int curnum = 0;//颜色迭代计数器 //定义所有的颜色 final int [] colors = new int[]{ R.color. color1 , R.color. color2 , R.color. color3 , R.color. color4 , R.color. color5 , R.color. color6 }; //定义所有TextView的id final int [] names = new int[]{ R.id. v1 , R.id. v2 , R.id. v3 , R.id. v4 , R.id. v5 , R.id. v6 }; //所有的TextView TextView[] tvs = new TextView[names .length ]; //异步处理类 final Handler h = new Handler(){ public void handleMessage(Message msg) { //如果调用信息为0x123的话 继续访问 if (msg.what == 0x123){ for (int i = 0 ; i < tvs .length ; i ++){ tvs[i].setBackgroundColor( colors[(i + curnum ) % names .length ]); } curnum ++ ; } super .handleMessage(msg); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout. activity_main); for( int i = 0 ; i < names. length ; i ++){ tvs[i] = (TextView)findViewById(names [i]); } new Timer().schedule( new TimerTask() { @Override public void run() { h.sendEmptyMessage(0x123); } }, 0, 200); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main , menu); return true ; }}
这里边代码还是有点意思的。 其中R.colors.xxxx是在colors.xml中:
这个是需要我们来建的, 在values中。
其次里边用到了一个Timer的小调度,这是在java基础中已经学过的。
但是又意思是为什么组件切换颜色时,不直接在Timer中的内部类的run中进行切换呢。 看下李刚的这段话:
这样我们就了解了,view组件是线程不安全的。好吧,大概主要的就是这些.
- android帧布局以及注意事项
- Android布局注意事项
- ExpandableListView的自定义布局以及注意事项
- Android基础以及布局
- android PercentFrameLyout 百分比布局 使用及注意事项
- Android写xml布局时的注意事项
- Android-布局单位以及布局详细说明
- 移动端网页布局中需要注意事项以及解决方法总结
- 移动端网页布局中需要注意事项以及解决方法总结
- 移动端网页布局中需要注意事项以及解决方法总结
- Android 基本布局以及应用
- 如何混淆android代码以及注意事项
- android环境搭建以及一些注意事项
- Android Facebook分享以及一些注意事项
- Android开发之Socket编程以及注意事项
- Android studio hellojni 源码以及注意事项
- Android开发之Socket编程以及注意事项
- android 帧动画注意事项
- 7.3 杀死进程
- HDU1116(Play On Words)可做欧拉回路模板
- php中echo、print、print_r区别
- 7.4 桌面小部件:widgit的创建
- nyoj 58最少步数
- android帧布局以及注意事项
- Linux 启动过程分析
- Java基础测试题
- Openstack能走多远——Openstack、VMware浅析
- poj2886Who Gets the Most Candies?(线段树,记活人的数量,题目类似约瑟夫环)
- 内存管理/守护进程
- 7.5 widget内的内容更新和点击事件
- shell脚本---查找并删除重复的文件
- Android操作系统源代码下载方法