【发布时间】:2011-03-26 10:02:42
【问题描述】:
我知道这可能很简单,但我在 android 中有一个 xml 文件,其中包含许多按钮以及一个 FrameLayout,它显示手机上相机的预览。我希望这个 FrameLayout 位于屏幕的背景中,并且所有其他按钮等都出现在它的顶部/上方。我尝试使用“重力”并将 FrameLayout 设置为 linearLayout 的背景,它全部内置但没有任何效果。知道我将如何做到这一点。
编辑: 这是我的代码。我尝试将带有预览的框架布局放在顶部,将按钮放在按钮上,但是在测试时效果不佳,所以现在我想将框架布局放在背景中。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/layout">
<!-- <1> -->
<AbsoluteLayout android:id="@+id/absoluteLayout1" android:layout_height="fill_parent" android:layout_width="fill_parent">
<Button android:layout_height="50dip" android:id="@+id/buttonClick" android:layout_width="wrap_content" android:text="Click" android:layout_x="104dip" android:layout_y="161dip" android:gravity="top"></Button>
<TextView android:layout_height="wrap_content" android:id="@+id/textView2" android:layout_width="wrap_content" android:text="Hat" android:layout_x="-4dip" android:layout_y="258dip" android:gravity="top"></TextView>
<CheckBox android:layout_height="wrap_content" android:text="CheckBox" android:layout_width="wrap_content" android:id="@+id/hatbox" android:layout_x="-10dip" android:layout_y="202dip" android:gravity="top"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:text="CheckBox" android:layout_width="wrap_content" android:id="@+id/shirtbox" android:layout_x="28dip" android:layout_y="201dip" android:gravity="top"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:text="CheckBox" android:layout_width="wrap_content" android:id="@+id/beltbox" android:layout_x="64dip" android:layout_y="201dip" android:gravity="top"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:text="CheckBox" android:layout_width="wrap_content" android:id="@+id/pantbox" android:layout_x="100dip" android:layout_y="202dip" android:gravity="top"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:text="CheckBox" android:layout_width="wrap_content" android:id="@+id/shoebox" android:layout_x="140dip" android:layout_y="201dip" android:gravity="top"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:text="CheckBox" android:layout_width="wrap_content" android:id="@+id/accbox" android:layout_x="181dip" android:layout_y="201dip" android:gravity="top"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:text="CheckBox" android:layout_width="wrap_content" android:id="@+id/jacketbox" android:layout_x="220dip" android:layout_y="201dip" android:gravity="top"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:text="CheckBox" android:layout_width="wrap_content" android:id="@+id/dressbox" android:layout_x="257dip" android:layout_y="201dip" android:gravity="top"></CheckBox>
<TextView android:layout_height="wrap_content" android:id="@+id/TextView03" android:layout_width="wrap_content" android:text="Shirt" android:layout_x="33dip" android:layout_y="257dip" android:gravity="top"></TextView>
<TextView android:layout_height="wrap_content" android:id="@+id/TextView01" android:layout_width="wrap_content" android:text="Belt" android:layout_x="72dip" android:layout_y="257dip" android:gravity="top"></TextView>
<TextView android:layout_height="wrap_content" android:id="@+id/TextView05" android:layout_width="wrap_content" android:text="Pants" android:layout_x="101dip" android:layout_y="257dip" android:gravity="top"></TextView>
<TextView android:layout_height="wrap_content" android:id="@+id/TextView02" android:layout_width="wrap_content" android:text="Shoes" android:layout_x="140dip" android:layout_y="257dip" android:gravity="top"></TextView>
<TextView android:layout_height="wrap_content" android:id="@+id/TextView06" android:layout_width="wrap_content" android:text="Acc" android:layout_x="189dip" android:layout_y="258dip" android:gravity="top"></TextView>
<TextView android:layout_height="wrap_content" android:id="@+id/TextView04" android:layout_width="wrap_content" android:text="Dress" android:layout_x="261dip" android:layout_y="261dip" android:gravity="top"></TextView>
<TextView android:layout_height="wrap_content" android:id="@+id/TextView07" android:layout_width="wrap_content" android:text="Jacket" android:layout_x="220dip" android:layout_y="258dip" android:gravity="top"></TextView>
<FrameLayout android:layout_height="200dip" android:visibility="invisible" android:id="@+id/preview" android:layout_width="300dip" android:layout_x="1dip" android:layout_y="2dip"></FrameLayout>
</AbsoluteLayout>
<!-- <2> -->
<!-- <3> -->
</LinearLayout>
编辑2: 所以它工作得很好,我正要告诉你,但突然我把它弄坏了......我正在调整按钮在屏幕上的位置,现在按钮不再可见。这是我的代码...有什么想法吗?
version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/layout">
<!-- <1> -->
<AbsoluteLayout android:id="@+id/absoluteLayout2" android:layout_height="fill_parent" android:layout_width="fill_parent">
<FrameLayout android:layout_height="fill_parent" android:visibility="visible" android:id="@+id/preview" android:layout_width="fill_parent" android:layout_x="0dip" android:layout_y="0dip">
<AbsoluteLayout android:id="@+id/absoluteLayout1" android:background="@android:color/transparent" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:layout_height="50dip" android:id="@+id/buttonClick" android:layout_y="161dip" android:layout_width="wrap_content" android:text="Click" android:gravity="top" android:layout_x="130dip"></Button>
<TextView android:layout_height="wrap_content" android:layout_y="258dip" android:id="@+id/textView2" android:layout_width="wrap_content" android:gravity="top" android:text="Hat" android:layout_x="15dip"></TextView>
<CheckBox android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="CheckBox" android:id="@+id/hatbox" android:gravity="top" android:layout_x="10dip" android:layout_y="200dip"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:layout_y="201dip" android:layout_width="wrap_content" android:text="CheckBox" android:id="@+id/shirtbox" android:gravity="top" android:layout_x="50dip"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:layout_y="201dip" android:layout_width="wrap_content" android:text="CheckBox" android:id="@+id/beltbox" android:gravity="top" android:layout_x="90dip"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:layout_y="202dip" android:layout_width="wrap_content" android:text="CheckBox" android:id="@+id/pantbox" android:gravity="top" android:layout_x="130dip"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:layout_y="201dip" android:layout_width="wrap_content" android:text="CheckBox" android:id="@+id/shoebox" android:gravity="top" android:layout_x="170dip"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:layout_y="201dip" android:layout_width="wrap_content" android:text="CheckBox" android:id="@+id/accbox" android:gravity="top" android:layout_x="210dip"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:layout_y="201dip" android:layout_width="wrap_content" android:text="CheckBox" android:id="@+id/jacketbox" android:gravity="top" android:layout_x="247dip"></CheckBox>
<CheckBox android:layout_height="wrap_content" android:layout_y="201dip" android:layout_width="wrap_content" android:text="CheckBox" android:id="@+id/dressbox" android:gravity="top" android:layout_x="285dip"></CheckBox>
<TextView android:layout_height="wrap_content" android:layout_y="257dip" android:id="@+id/TextView03" android:layout_width="wrap_content" android:gravity="top" android:text="Shirt" android:layout_x="55dip"></TextView>
<TextView android:layout_height="wrap_content" android:layout_y="257dip" android:id="@+id/TextView01" android:layout_width="wrap_content" android:gravity="top" android:text="Belt" android:layout_x="95dip"></TextView>
<TextView android:layout_height="wrap_content" android:layout_y="257dip" android:id="@+id/TextView05" android:layout_width="wrap_content" android:gravity="top" android:text="Pants" android:layout_x="130dip"></TextView>
<TextView android:layout_height="wrap_content" android:layout_y="257dip" android:id="@+id/TextView02" android:layout_width="wrap_content" android:gravity="top" android:text="Shoes" android:layout_x="170dip"></TextView>
<TextView android:layout_height="wrap_content" android:layout_y="258dip" android:id="@+id/TextView06" android:layout_width="wrap_content" android:gravity="top" android:text="Acc" android:layout_x="220dip"></TextView>
<TextView android:layout_height="wrap_content" android:layout_y="261dip" android:id="@+id/TextView04" android:layout_width="wrap_content" android:gravity="top" android:text="Dress" android:layout_x="285dip"></TextView>
<TextView android:layout_height="wrap_content" android:layout_y="258dip" android:id="@+id/TextView07" android:layout_width="wrap_content" android:gravity="top" android:text="Jacket" android:layout_x="247dip"></TextView>
</AbsoluteLayout>
</FrameLayout>
</AbsoluteLayout>
<!-- <2> -->
<!-- <3> -->
</LinearLayout>
【问题讨论】:
-
这是一款 AR 应用吗?为什么不画出你的相机,然后在它上面放置一个透明的框架布局来插入你的物品呢?
-
哦,不,我很抱歉。只需几个按钮即可选择正在拍摄的照片类型,以便将其放置在正确的文件夹中。例如,如果它是衬衫的图片,则用户选择衬衫复选框并将其放入衬衫图片文件夹
-
哦,好吧。检查我的答案。它应该创建您正在寻找的效果。如果不发表评论,我会尽力提供更多帮助。