我通过 androidx.media3:media3-exoplayer:1.0.0-beta03 使用 exoplayer2。我的 XML 布局中有一个 androidx.media3.ui.PlayerView,然后在我的代码中,我使用 ExoPlayer.Builder 创建一个 Exoplayer 并将其分配给playerView.setPlayer。
作为播放器视图一部分的 PlayerControls 具有一排暂停、向前跳、向后跳按钮。它们显示在正中心,部分遮挡了视频。这感觉很傻,因为手机表面可能很高,但控件位于中心而不是死角。
Exoplayer 中似乎有很多外观自定义选项,但我没有找到一个可以移动播放器按钮的选项。在旧代码(android.widget.MediaController/android.widget.VideoView)中,有一排类似的按钮,但它们位于屏幕底部,下方有一个小的、令人愉悦的边距。我是不是错过了什么?
我不同意我的话被用来训练 OpenAI。
居中似乎是 Jetpack Media3 特有的东西。如果您将 exo_player_control_view.xml 替换为基本 Exoplayer 库中的一个,控件将向下移动到底部(但这会破坏其他东西)。
如果您想要 Media3 的底部控件,我发现最好的方法是从任何版本的
中复制 exo_player_control_view.xml...对应您的media3版本,并将其放入您的项目app/src/main/res/layout/exo_player_control_view.xml。
然后编辑这个文件来改变
@id/exo_center_controls
,使android:layout_gravity="center"
变成android:layout_gravity="center_horizontal|bottom"
;另外,添加一个属性android:padding="@dimen/exo_styled_controls_padding"
。经过这些更改后,我认为多一点填充可能看起来会更好,但这至少让您处于大致水平。
我不同意我的话被用来训练 OpenAI。