FrameLayout
在 Android 中服务的目的是什么?有没有针对它设计的特定场景?
在我的 Android 应用程序中,我有一个场景,我必须显示两个ImageView
s,一个在另一个之上。这是一个.png
图像文件,在该图像上可绘制 9 个补丁。
ViewGroup
为此我应该使用哪个:RelativeLayout
或FrameLayout
?
我还想知道每个ViewGroup
s 应该用于的不同场景。
FrameLayout
在 Android 中服务的目的是什么?有没有针对它设计的特定场景?
在我的 Android 应用程序中,我有一个场景,我必须显示两个ImageView
s,一个在另一个之上。这是一个.png
图像文件,在该图像上可绘制 9 个补丁。
ViewGroup
为此我应该使用哪个:RelativeLayout
或FrameLayout
?
我还想知道每个ViewGroup
s 应该用于的不同场景。
我不记得我是如何回答这个问题的,但这是我的答案,可以帮助任何人:
正如你在这里看到的
FrameLayout 旨在阻止屏幕上的一个区域以显示单个项目。通常,应该使用 FrameLayout 来保存单个子视图,因为很难以一种可缩放到不同屏幕尺寸的方式组织子视图,而不会使子视图相互重叠。
一般来说,一个重叠的两个视图是没有用的,因为你会有过度绘制的效果(一个屏幕区域被 gpu 多次绘制,这真的没用)。
如果你真的需要,那么你需要使用 onDraw 方法(你可以在这里看到一个例子)和 Canvas API(看看这里)和 clipRect 方法(你可以在这里看到一个例子)
关于 FrameLayout 或 RelativeLayout,如果你想保持简单或者你的 Activity 已经有足够的嵌套布局,最好使用 FrameLayout。在 2017 年,约束布局也可能会有所帮助。
是的,您可以FrameLayout
在您的场景中使用 a 。