ExoPlayer:如何判断控件是否显示?

cho*_*wey 2 android exoplayer

我将ExoPlayer用于 Android 应用程序,我想切换控件的可见性。

我看到PlayerViewshowController()方法和hideController()方法,但没有toggleController()方法。

显然我可以toggleController()自己实现,但是如何判断控件是否可见?我正在指定一个自定义控制器布局,如下所示:

<com.google.android.exoplayer2.ui.PlayerView
    android:id="@+id/player_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:controller_layout_id="@layout/exo_controls" />
Run Code Online (Sandbox Code Playgroud)

我需要找出这样的函数(例如在 Kotlin 中):

fun toggleController() {
    val playerView = findViewById<PlayerView>(R.id.player_view)
    val controlsVisible = // ???
    if (controlsVisible) {
        playerView.hideController()
    } else {
        playerView.showController()
    }
}
Run Code Online (Sandbox Code Playgroud)

red*_*nda 5

你需要做的就是在你的 PlayerView 上调用 isControllerVisible() :

            if (mPlayerView.isControllerVisible()) {
                // Do something if controls are visible
                return true;
            } else {
                // Do something else if controls are not showing
                return false;
            }
Run Code Online (Sandbox Code Playgroud)