我有一个相机小部件,它将是一个“背景”,在它的顶部,我想有一个图像和一个按钮。我应该使用什么布局将图像和按钮正确放置在相机小部件的顶部?
以下布局将相机小部件推离屏幕(只显示图像和按钮):
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<eu.livotov.labs.android.camview.CAMView
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/zxScanCamera"/>
<ImageView
android:src="@drawable/hud"
android:scaleType="centerInside"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<Button
style="@style/StdText"
android:id="@+id/flashLight"
android:layout_width="match_parent"
android:text="@string/scan_flash_on"
android:background="?android:attr/selectableItemBackground"/>
</FrameLayout>
答案 0 :(得分:2)
使用RelativeLayout
- 它使用其子项的定义顺序作为其Z顺序(在彼此之上)。 Firs声明你的CAMView
然后(作为资源文件中的兄弟姐妹) - 按钮和图像视图。当然你应该考虑他们在屏幕上(在他们的父母内部)的相对位置,但简而言之 - 如果他们在x,y
坐标中重叠,则每个下一个孩子都会被绘制在上一个孩子的“顶部”。
在你的情况下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<eu.livotov.labs.android.camview.CAMView
android:layout_height="match_parent"
android:layout_width="match_parent"
.../>
<ImageView
...
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"/>
<Button
...
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
使用android:layout_alignParent...
属性将您的商品放在其父
答案 1 :(得分:0)
如果您想要对齐任何子视图,例如按钮应位于顶部和中间,那么最好去RelativeLayout
答案 2 :(得分:-2)
如果您使用约束布局,则列表下方的窗口小部件将出现在应用程序中所有其他窗口的上方。See this image例如,imageView1将出现在imageView2的顶部。 (从上方或顶部,我的意思是朝向用户或朝向屏幕外。imageView1会出现在imageView2上方,就像您将一张纸放在一张大纸上一样)