Day2.4--Android常用布局之FrameLayout

FrameLayout--帧布局, FrameLayout是最简单的一种布局,布局中的UI控件默认都是排列在左上角。

如下代码中,在FrameLayout中存放三个TextView,各自的背景颜色以及宽高都不同:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <TextView 
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:text="11111"
        android:background="#ff0000"/>
    
    <TextView 
        android:layout_width="70dp"
        android:layout_height="30dp"
        android:text="22222"
        android:background="#00ff00"/>
    
    <TextView 
        android:layout_width="50dp"
        android:layout_height="20dp"
        android:text="33333"
        android:background="#0000ff"/>
    

</FrameLayout>

运行效果如下:


如上图所示,三个TextView是依次的堆叠在左上角,并且后续添加上的TextView会覆盖掉之前添加的TextView。

如何在FrameLayout中控制UI控件的位置呢? 可以使用gravity、layout_gravity、layout_margin等属性,如下代码所示:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <TextView 
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:text="11111"
        android:background="#ff0000"
        android:layout_gravity="center_horizontal"/>
    
    <TextView 
        android:layout_width="70dp"
        android:layout_height="30dp"
        android:text="22222"
        android:background="#00ff00"
        android:layout_gravity="right"/>
    
    <TextView 
        android:layout_width="50dp"
        android:layout_height="20dp"
        android:text="33333"
        android:background="#0000ff"
        android:layout_gravity="bottom"
        android:layout_marginBottom="20dp"/>
    

</FrameLayout>

如以上代码所示,将第一个TextView的layout_gravity属性置为center_horizontal,第二个TextView的layout_gravity属性置为right,第三个TextView的layout_gravity属性置为bottom,并且layout_marginBottom属性置20dp, 运行效果如下:

Day2.4--Android常用布局之FrameLayout_第1张图片

你可能感兴趣的:(FrameLayout)