我在底层指定了自定义SurfaceView,但有时它出现在顶层。为什么?

时间:2017-09-25 09:02:08

标签: android surfaceview

我使用自定义SurfaceView来显示相机预览,并且SurfaceView上有一些UI元素浮动,例如用于拍照的Button。但有时SurfaceView出现在顶层,原因不明,我看不到任何UI元素,但仍然可以与它们进行交互。为什么呢?

1 个答案:

答案 0 :(得分:0)

你需要阅读有关android:layout_weight

的内容

例如:

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

<LinearLayout
    android:id="@+id/layoutParent"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1.7"
    android:orientation="vertical">

   // Write xml code for camera display
</LinearLayout>

<LinearLayout
    android:id="@+id/layoutParent"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.3"
    android:orientation="horizontal">
    <Button
       android:id="@+id/Save"
       android:text="Save"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"/>
    <Button
       android:id="@+id/Cancel"
       android:text="Cancel"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>

我希望它会帮助你......