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

标签 android exoplayer

我正在使用 ExoPlayer对于 Android 应用程序,我想切换控件的可见性。

我看到 PlayerView 有一个 showController() 方法和一个 hideController() 方法,但是没有 toggleController() 方法。

显然我可以自己实现 toggleController(),但是我如何判断控件是否可见?我正在使用如下内容指定自定义 Controller 布局:

<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" />

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

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

最佳答案

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

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

关于android - ExoPlayer:如何判断控件是否显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49864055/

相关文章:

android - 多行 React-Native Text 组件的宽度不会调整为 Android 上最长文本行的长度

Android ACTION_BOOT_COMPLETED 每次都调用?

android - Android:编译时出错:我将Exoplayer库从r2.5.3更改为2.9.0

android - 使用 ExoPlayer 再现加密视频

android - TextureView 获取 Surface

android - 为什么 ExoPlayer 的视频初始加载时间超过 5 秒?

java - 从画廊或谷歌照片中选择图像失败

android - WorkManager.getInstance().cancelAllWorkByTag() 不停止定期作业

java - PHP 和 AlertDialog 在 Android 上不同步

android - 如何使用 ExoPlayer 从服务器流式传输 mp4 视频?