透明图像在相机预览android

时间:2014-06-02 10:01:27

标签: android android-layout android-camera

我需要在相机预览中设置透明图像,我需要对其进行缩放和缩放。

我有相机预览,在顶部的布局中,我将图像放在一个imageview。这个图像只有一个边框,中心是透明的,但是我看不到相机预览,我只能用白色背景查看图像。

这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearlayout"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

  <ImageView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:id="@+id/imageView"
      android:layout_gravity="left|top" android:scaleType="fitXY"
      android:src="@drawable/red"/>
  <FrameLayout
      android:id="@+id/camera_preview"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_weight="1"
      >
  </FrameLayout>
</LinearLayout>

如果图像透明,为什么要放置白色背景?

由于

2 个答案:

答案 0 :(得分:0)

你需要使用RelativeLayout来设置ImageView相机预览。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
  <FrameLayout
      android:id="@+id/camera_preview"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      />
  <ImageView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:id="@+id/imageView"
      android:scaleType="fitXY"
      android:src="@drawable/red"/>
</RelativeLayout >

答案 1 :(得分:0)

问题与相机预览无关,只需选择ViewGroup即可。

一个LinearLayout将它们的孩子排列在一起 - 而不是像你想要的那样在顶部。在您的布局中,您的LinearLayout正在消耗片段或活动中的所有可见空间,因为其宽度和高度设置为match_parent。同样,您的ImageView也在做同样的事情,并且消耗了所有LinearLayout的可见空间。随后,FrameLayout不再适合并消失在屏幕外的某个地方。

您可能希望使用FrameLayout(或者如果您希望对其中的视图位置进行更细粒度的控制,则使用RelativeLayout。)