NestedScrollView 中 PlayerView 的大小错误,宽度为 wrap_content
Wrong size of PlayerView inside NestedScrollView with wrap_content width
当 PlayerView
在 FrameLayout
内时,它会正确缩放到视频大小:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/playerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
但是,在用 NestedScrollView
替换布局后,在计算 PlayerView
的高度时,视图似乎只需要控制高度:
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/playerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</androidx.core.widget.NestedScrollView>
我该如何解决这个问题?
解决方法是在PlayerView
中加入如下参数:
app:resize_mode="fixed_width"
当 PlayerView
在 FrameLayout
内时,它会正确缩放到视频大小:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/playerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
但是,在用 NestedScrollView
替换布局后,在计算 PlayerView
的高度时,视图似乎只需要控制高度:
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/playerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</androidx.core.widget.NestedScrollView>
我该如何解决这个问题?
解决方法是在PlayerView
中加入如下参数:
app:resize_mode="fixed_width"