我对Android很新,并且一直在关注相机应用程序的简单教程。它在FrameLayout(向上)中显示相机的预览,然后在点击FrameLayout正下方的按钮后捕获图像。然后,图像显示在应该位于按钮下方的ImageView中。但是,当我运行程序并单击按钮拍照时,捕获的图像显示在FrameLayout的TOP上。我已经尝试在activity_main.xml的设计选项卡中修复它,但我似乎无法在设计中找到ImageView,即使它已在我的组件树中列出。
以下是我的xml文件中的三个组件:
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/camera_preview"
android:layout_centerHorizontal="true"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="@string/capture_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text"
app:layout_constraintVertical_bias="0.143" />
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="300dp"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/captured_image"
android:layout_below="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="15dp"
android:contentDescription="@string/desc" />
我能做些什么来解决这个问题吗?
答案 0 :(得分:0)
如果您希望imageView显示在Button和FrameLayout
下面在FrameLayout标记
上添加此项 android:layout_below="@id/button"
您编辑的代码。
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/camera_preview"
android:layout_centerHorizontal="true"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="@string/capture_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text"
app:layout_constraintVertical_bias="0.143" />
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_below="@id/button"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/captured_image"
android:layout_below="@+id/camera_preview"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="15dp"
android:contentDescription="@string/desc" />
干杯!