Android学习(12)FremaLayout_框架布局(帧布局)
FremaLayout_框架布局:
框架布局是比较简单的布局方式,所有添加到这个布局中的视图将以层叠的方式显示。代码中靠前的放在最下面,靠后的放在最上面。
1.在布局文件中添加五个TextView,是他们堆叠放置
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/tvFL1"
android:layout_width="300dp"
android:layout_height="300dp"
android:text="TextView"
android:layout_gravity="center"/>
<TextView
android:id="@+id/tvFL2"
android:layout_width="240dp"
android:layout_height="240dp"
android:text="TextView"
android:layout_gravity="center"/>
<TextView
android:id="@+id/tvFL3"
android:layout_width="180dp"
android:layout_height="180dp"
android:text="TextView"
android:layout_gravity="center"/>
<TextView
android:id="@+id/tvFL4"
android:layout_width="120dp"
android:layout_height="120dp"
android:text="TextView"
android:layout_gravity="center"/>
<TextView
android:id="@+id/tvFL5"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="TextView"
android:layout_gravity="center"/>
</FrameLayout>
2.在Activity中设置他们的背景颜色,实现色彩不停变换的霓虹灯效果
public class FrameLayoutActivity extends AppCompatActivity implements Runnable{
//定义五个颜色值
private int[] colors = new int[]{0xffff0000, 0xff0000ff, 0xff00ffff, 0xffff00ff, 0xff00ff00};
//每个颜色值的索引
private int[] nextColorPoint = new int[]{1,2,3,4,0};
private View[] views;
//当前值的索引
private int currentColorPoint = 0;
//handler
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_frame_layout);
views = new View[] {
findViewById(R.id.tvFL5),
findViewById(R.id.tvFL4),
findViewById(R.id.tvFL3),
findViewById(R.id.tvFL2),
findViewById(R.id.tvFL1),
};
handler = new Handler();
handler.postDelayed(this,300);
}
public void run() {
int color = currentColorPoint;
for (int i = views.length - 1;i >=0; i--) {
views[i].setBackgroundColor(colors[nextColorPoint[color]]);
color = nextColorPoint[color];
}
currentColorPoint++;
if (currentColorPoint == 5)
currentColorPoint = 0;
handler.postDelayed(this,300);
}
}
声明:
1.知识点来源于《网易云课堂》——《Android基础视频教程》
2.本文只用于本人自身学习记录,如有侵权,请立即通知本人更改或删除