前言
在日常的开发当中,肯定少不了FrameLayout(帧布局)的使用,最常见的使用就是RadioGroup+FrameLayout实现应用的主页底部导航栏和主页界面,后面的博客会聊到这个内容。我们还是回到我们这边博客的主角FameLayout身上。
FrameLayout简介
FrameLayout又称作帧布局,没有方便的定位方式,所有控件都会默认显示在左上角。如果同一个位置控件大小相同,我们只能看到最上面的控件。
常用属性
android:foreground: 设置改帧布局容器的前景图像
android:foregroundGravity: 设置前景图像显示的位置
android:layout_gravity 设置控件在布局中的对齐方式
举个栗子
1.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">
<TextView
android:layout_width="300dp"
android:layout_height="200dp"
android:background="@android:color/holo_red_dark"/>
<TextView
android:layout_width="150dp"
android:layout_height="100dp"
android:background="@android:color/holo_orange_dark"/>
</FrameLayout>
2.模拟器运行效果
因为两个TextView的大小不一样,所以我们看到两个。但是细心的小伙伴会发现橙色的TextView对红色的TextView有遮挡。想要让红色的TextView去界面的其他地方吗?我们可以通过android:layout_gravity
属性来进行设置。上其他效果的代码
3.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">
<TextView
android:layout_width="300dp"
android:layout_height="200dp"
android:layout_gravity="bottom"
android:background="@android:color/holo_red_dark"/>
<TextView
android:layout_width="150dp"
android:layout_height="100dp"
android:background="@android:color/holo_orange_dark"/>
</FrameLayout>
4.模拟器运行效果
总结
这个布局使用起来比较简单,没有太多复杂的属性在其中,我对FrameLayout的理解就这么多。给自己打个广告下面是我的微信公众号,我会经常更新一下技术干货或者开发踩坑历程,欢迎大家关注我!