8

FrameLayout在 Android 中服务的目的是什么?有没有针对它设计的特定场景?

在我的 Android 应用程序中,我有一个场景,我必须显示两个ImageViews,一个在另一个之上。这是一个.png图像文件,在该图像上可绘制 9 个补丁。

ViewGroup为此我应该使用哪个:RelativeLayoutFrameLayout

我还想知道每个ViewGroups 应该用于的不同场景。

4

2 回答 2

1

我不记得我是如何回答这个问题的,但这是我的答案,可以帮助任何人:

正如你在这里看到的

FrameLayout 旨在阻止屏幕上的一个区域以显示单个项目。通常,应该使用 FrameLayout 来保存单个子视图,因为很难以一种可缩放到不同屏幕尺寸的方式组织子视图,而不会使子视图相互重叠。

一般来说,一个重叠的两个视图是没有用的,因为你会有过度绘制的效果(一个屏幕区域被 gpu 多次绘制,这真的没用)。

如果你真的需要,那么你需要使用 onDraw 方法(你可以在这里看到一个例子)和 Canvas API(看看这里)和 clipRect 方法(你可以在这里看到一个例子)

关于 FrameLayout 或 RelativeLayout,如果你想保持简单或者你的 Activity 已经有足够的嵌套布局,最好使用 FrameLayout。在 2017 年,约束布局也可能会有所帮助。

于 2017-11-16T22:49:30.080 回答
-5

是的,您可以FrameLayout在您的场景中使用 a 。

于 2012-05-21T06:43:52.497 回答