您的位置:首页 > 移动开发 > Android开发

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);

}

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: