首页 > 解决方案 > 框架布局的目的?

问题描述

我找到的所有示例都用于FrameLayoutFrameLayout多个子级堆叠在一起。甚至例如这里的Stackoverflow 答案说

您使用 FrameLayout 将子视图堆叠在一起,

然而,官方文档指出

FrameLayout 的设计目的是在屏幕上屏蔽一个区域以显示单个项目。通常,应该使用 FrameLayout 来保存单个子视图

虽然可以添加多个孩子,但听起来这只是一个副作用。

那么,带有单个项目的 FrameLayout 的最初预期用例是什么?任何人都有一个例子吗?

标签: androidandroid-framelayout

解决方案


FrameLayout为什么只有一个孩子会有用,有不同的目的。想象一下,有一个加载微调器应该居中但不填满整个页面,而且您希望在显示加载微调器时隐藏内容。可能的解决方案:FrameLayout使用match_parent宽度和高度以及背景颜色和ProgressBar(加载微调器)android:layout_gravity=center作为FrameLayout. 所以现在你可以设置android:visibilityFrameLayout显示或隐藏整个事情。


推荐阅读