android帧布局——霓虹灯
2015-07-31 14:32
465 查看
首先我们要理解什么是帧布局,帧布局中每一个组件都代表一个画面,默认以屏幕左上角作为(0,0)坐标,组件按定义的先后顺序一次逐屏显示,后面出现的会覆盖前面的画面。下面我们就用该布局实现霓虹灯的效果,如图:
这里在activity_main.xml文件中定义了一个FrameLayout和5个TextView。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.neolight.MainActivity"
tools:ignore="MergeRootFrame" >
<TextView
android:id="@+id/textView1"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center"
android:text="1" />
<TextView
android:id="@+id/textView2"
android:layout_width="240dp"
android:layout_height="240dp"
android:layout_gravity="center"
android:text="2" />
<TextView
android:id="@+id/textView3"
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_gravity="center"
android:text="3" />
<TextView
android:id="@+id/textView4"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:text="4" />
<TextView
android:id="@+id/textView5"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:text="TextView" />
</FrameLayout>
Activity中代码编写:
public class MainActivity extends ActionBarActivity implements Runnable{
private int colors[]=new int[]{0xFFFF0000,0xFF00FF00,0xFFFF00FF,0xFF00FFFF,0xFF0000FF
};
private int[] nextColorPointers=new int[]{
1,2,3,4,0
};
private View views[];
private int currentColor=0;
private Handler handler;
public void run(){
int nextColorPointer=currentColor;
for(int i=views.length-1;i>=0;i--){
views[i].setBackgroundColor(colors[nextColorPointers[nextColorPointer]]);//
nextColorPointer=(++nextColorPointer)%5;
}
if(currentColor==4){
currentColor=0;
}else{
currentColor++;
}
handler.postDelayed(this, 300);
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
这里在activity_main.xml文件中定义了一个FrameLayout和5个TextView。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.neolight.MainActivity"
tools:ignore="MergeRootFrame" >
<TextView
android:id="@+id/textView1"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center"
android:text="1" />
<TextView
android:id="@+id/textView2"
android:layout_width="240dp"
android:layout_height="240dp"
android:layout_gravity="center"
android:text="2" />
<TextView
android:id="@+id/textView3"
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_gravity="center"
android:text="3" />
<TextView
android:id="@+id/textView4"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:text="4" />
<TextView
android:id="@+id/textView5"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:text="TextView" />
</FrameLayout>
Activity中代码编写:
public class MainActivity extends ActionBarActivity implements Runnable{
private int colors[]=new int[]{0xFFFF0000,0xFF00FF00,0xFFFF00FF,0xFF00FFFF,0xFF0000FF
};
private int[] nextColorPointers=new int[]{
1,2,3,4,0
};
private View views[];
private int currentColor=0;
private Handler handler;
public void run(){
int nextColorPointer=currentColor;
for(int i=views.length-1;i>=0;i--){
views[i].setBackgroundColor(colors[nextColorPointers[nextColorPointer]]);//
nextColorPointer=(++nextColorPointer)%5;
}
if(currentColor==4){
currentColor=0;
}else{
currentColor++;
}
handler.postDelayed(this, 300);
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章推荐
- android.support.design.widget.TabLayout
- Android程序开始的等待动画或LOGO
- android_Activity的四种启动模式和onNewIntent()
- android sqlite操作(1)
- androidstudio使用笔记
- Android动画效果translate、scale、alpha、rotate详解
- 从Android L默认ART虚拟机看国内手机圈
- Android activity onNewIntent触发时机
- Android Camera出现无法连接相机问题
- Android自定义文字闪烁渐变色的跑马灯
- Android 基础控件汇总之AlertDialog
- 【Android应用开发技术:应用组件】Intent使用方法
- 【Android应用开发技术:应用组件】Intent基本原理
- Android Studio中添加重载函数的方法
- Java4Android-包和访问权限1
- Android5.0上SD卡抽拔发送的Intent研究
- Android Studio 1.2 编码问题
- Android系统启动流程浅析
- Android 常用的adb命令
- 说的很清楚的android和js之间的调用