Android学习(12)FremaLayout_框架布局(帧布局)

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.本文只用于本人自身学习记录,如有侵权,请立即通知本人更改或删除

猜你喜欢

转载自blog.csdn.net/qq_40740256/article/details/82494216