1.什么是FrameLayout(帧布局)
FrameLayout (帧布局)用于在屏幕上创建一块空白区域,添加到该区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加在上一个控件上层。默认情况下,帧布局中的所有控件会与左上角对齐。在XML布局文件中定义FrameLayout的基本语法格式如下:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
属性一”属性值“》
</FrameLayout>
2.FrameLayout(帧布局)的属性
帧布局除了前面的RelatitveLayout(相对布局)介绍的通用属性外,还有两个特殊属性,具体如表2-1所示。
表2-6 FrameLayout 属性
属性名称 | 功能描述 |
---|---|
android:foreground | 设置帧布局容器的前景图像(始终在所有子控件之上) |
android:foregroundGravity | 设置前景图像显示的位置 |
3.如何在布局中使用android:foreground 和landroid:foregroundGravity属性指定控件位置,具体步骤如下:
- 创建程序
创建一个名为FrameLayout的应用程序,指定包名为cn.itcast.framelayout。
- 放置界面控件
在activity_main.xml文件的FrameLayout布局中放置2个Button控件,分别用于显示按钮1和按钮2。
activity_main.xml
<?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"
//设置FrameLayout帧布局容器的前景图像(始终在所有子控件之上)
android:foreground="@mipmap/ic_launcher"
//设置前景图像显示的位置
android:foregroundGravity="left"
>
<Button
android:layout_width="300dp"
android:layout_height="400dp"
android:text="按钮1"
/>
<Button
android:layout_width="200dp"
android:layout_height="200dp"
android:text="按钮2"
/>
</FrameLayout>