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,我已经为一些过渡做了这些,但由于这是一个大型布局,我一直在寻找一种解决方案,如果可能的话,每次我希望对其进行更改时,不必维护多个布局。好的解决方案。这可能是唯一的选择。只是想知道是否有任何形式的“刷新”可以查看新的屏幕边界并进行调整。谢谢,我认为这是最成功的方法。所以解决方案是创建两个不同的文件?是的,有很多包含,以减少对两个布局的维护。