Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 更改方向时调整约束尺寸_Android_Size_Orientation_Android Constraintlayout_Onconfigurationchanged - Fatal编程技术网

Android 更改方向时调整约束尺寸

Android 更改方向时调整约束尺寸,android,size,orientation,android-constraintlayout,onconfigurationchanged,Android,Size,Orientation,Android Constraintlayout,Onconfigurationchanged,我正在ConstraintLayout中的版面内播放视频,并覆盖OnConfiguration Changed而不是重新启动活动,以防止视频在方向更改时停止和启动。我正在尝试确定将布局调整为全屏的最佳方式,因为在旋转期间布局不会刷新。布局使用以下约束: app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" android:layout_width="0dp" an

我正在
ConstraintLayout
中的版面内播放视频,并覆盖
OnConfiguration Changed
而不是重新启动活动,以防止视频在方向更改时停止和启动。我正在尝试确定将布局调整为全屏的最佳方式,因为在旋转期间布局不会刷新。布局使用以下约束:

app:layout_constraintEnd_toEndOf="parent"  
app:layout_constraintStart_toStartOf="parent"  
android:layout_width="0dp"  
android:layout_height="0dp"  

旋转后,我希望布局使用相同的约束条件,但宽度和高度会发生变化,以适应景观,而不是纵向,反之亦然。我目前使用
DisplayMetrics
将视频播放器布局设置为屏幕的宽度和高度,但不知道是否有更好的解决方案
RequestLayout
似乎不起作用。有谁有更好的解决方案吗?

您需要创建两个布局,一个用于纵向模式,另一个用于横向模式,您自己可以根据需要配置这两个布局,这比在java代码中使用函数要好。另请参见感谢Azy,我已经为一些过渡做了这些,但由于这是一个大型布局,我一直在寻找一种解决方案,如果可能的话,每次我希望对其进行更改时,不必维护多个布局。好的解决方案。这可能是唯一的选择。只是想知道是否有任何形式的“刷新”可以查看新的屏幕边界并进行调整。谢谢,我认为这是最成功的方法。所以解决方案是创建两个不同的文件?是的,有很多包含,以减少对两个布局的维护。