gpt4 book ai didi

java - Android 布局 xml 旋转方向

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:57 25 4
gpt4 key购买 nike

我正在转换入门 Android 示例 Camera2Video 示例:https://github.com/googlesamples/android-Camera2Video

当单独运行示例时,旋转效果很好,并且控件始终可见。但是,当我在 Cordova 插件中嵌入相同的代码时,旋转时控件会消失。

这是布局 xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.example.android.camera2video.AutoFitTextureView
android:id="@+id/texture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />

<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_below="@id/texture"
android:background="#4285f4">

<ImageButton
android:id="@+id/video"
style="@android:style/Widget.Material.Light.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="Record"
android:padding="20dp"
android:src="@drawable/record" />

<ImageButton
android:id="@+id/info"
android:contentDescription="Info"
style="@android:style/Widget.Material.Light.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|right"
android:padding="20dp"
android:src="@drawable/gallery" />

</FrameLayout>

</RelativeLayout>

这是布局区域 xml 文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.example.android.camera2video.AutoFitTextureView
android:id="@+id/texture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />

<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_below="@id/texture"
android:layout_toRightOf="@id/texture"
android:background="#4285f4"
android:orientation="horizontal">

<ImageButton
android:id="@+id/video"
style="@android:style/Widget.Material.Light.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="Record"
android:padding="20dp"
android:src="@drawable/record" />

<ImageButton
android:id="@+id/info"
style="@android:style/Widget.Material.Light.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:contentDescription="Info"
android:padding="20dp"
android:src="@drawable/gallery" />

</FrameLayout>

</RelativeLayout>

还有检测旋转的代码。

我确信这是一个简单的修复,我只是无法弄清楚!

我的完整插件代码:https://github.com/kmturley/cordova-plugin-media-custom

最佳答案

我使用以下代码解决了这个问题:

布局 XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextureView
android:id="@+id/texture"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#66000000"
android:orientation="vertical">

<ImageButton
android:id="@+id/video"
style="@android:style/Widget.Material.Light.Button.Borderless"
android:layout_gravity="center"
android:contentDescription="Record"
android:padding="20dp"
android:src="@drawable/record"
android:layout_width="90dp"
android:layout_height="90dp"
android:scaleType="fitXY" />

<ImageButton
android:id="@+id/info"
android:contentDescription="Info"
style="@android:style/Widget.Material.Light.Button.Borderless"
android:layout_gravity="center_vertical|right"
android:padding="20dp"
android:src="@drawable/gallery"
android:layout_width="90dp"
android:layout_height="90dp"
android:scaleType="fitXY" />

</FrameLayout>

</RelativeLayout>

布局横向 xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextureView
android:id="@+id/texture"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<FrameLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:background="#66000000"
android:orientation="horizontal">

<ImageButton
android:id="@+id/video"
style="@android:style/Widget.Material.Light.Button.Borderless"
android:layout_gravity="center"
android:contentDescription="Record"
android:padding="20dp"
android:src="@drawable/record"
android:layout_width="90dp"
android:layout_height="90dp"
android:scaleType="fitXY" />

<ImageButton
android:id="@+id/info"
android:contentDescription="Info"
style="@android:style/Widget.Material.Light.Button.Borderless"
android:layout_gravity="center_horizontal|bottom"
android:padding="20dp"
android:src="@drawable/gallery"
android:layout_width="90dp"
android:layout_height="90dp"
android:scaleType="fitXY" />

</FrameLayout>

</RelativeLayout>

您可以在此处看到它在我的 cordova 插件上运行:

https://github.com/kmturley/cordova-plugin-media-custom

关于java - Android 布局 xml 旋转方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31987928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com