【问题标题】:Youtube Exit Full Screen Mode TextView Visibility IssueYoutube 退出全屏模式 TextView 可见性问题
【发布时间】:2016-03-23 14:58:28
【问题描述】:

我正在全屏模式下播放视频,当我点击后退按钮时,我能够退出全屏模式 - 但无法显示我在全屏时隐藏的 TextView。

要在全屏模式下隐藏 textView,我使用以下代码:

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,
        YouTubePlayer player, boolean wasRestored) {
    if (!wasRestored) {
        showPlayer();
        videoPlayer = player;
        videoPlayer.setOnFullscreenListener(new OnFullscreenListener() {

            @Override
            public void onFullscreen(boolean _isFullScreen) {
                fullScreen = _isFullScreen;
                textView.setVisibility(View.GONE); // hiding
            }
        });
        videoPlayer.loadVideo(actualVideo.getVideoId());
    }
}

要显示 textView,当我退出全屏模式时使用:

@Override
public void onBackPressed() {
    if (fullScreen){
        videoPlayer.setFullscreen(false);
        textView.setVisibility(View.VISIBLE); // showing

    } else{
        super.onBackPressed();
    }
}

我不知道为什么?但是当我点击后退按钮(我的意思是退出全屏模式)时,我的 textView 并没有处于可见状态。

【问题讨论】:

  • 请张贴您的 xml

标签: android youtube textview youtube-api android-youtube-api


【解决方案1】:

public void onFullscreen(boolean _isFullScreen) 中的_isFullScreen 是全屏状态,如果为true,则意味着播放器进入全屏模式,如果为false,则意味着播放器从全屏模式切换回,并且在两次调用此监听器您进入全屏模式并分别从全屏模式返回 true 和 false 值。您应该修改代码如下

videoPlayer.setOnFullscreenListener(new OnFullscreenListener() {

        @Override
        public void onFullscreen(boolean _isFullScreen) {
            fullScreen = _isFullScreen;
            if(_isFullScreen){
            textView.setVisibility(View.GONE); // hide text as player switched to full screen mode
            } else {
            textView.setVisibility(View.VISIBLE); // show text as player switched back from full screen mode, changing visibility here instead of onBackPressed have advantage that even if user switches back from full screen mode using control button on player instead of press back button the text will still come to visible
            }
        }
    });

如果按下后退按钮时播放器处于全屏模式,则您的 onBackPressed 侦听器将仅用于将播放器从全屏模式切换回来;

@Override
public void onBackPressed() {
if (fullScreen){
    videoPlayer.setFullscreen(false);

} else{
    super.onBackPressed();
}
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-11-25
  • 2023-03-19
  • 2014-09-25
  • 2012-03-29
  • 1970-01-01
  • 2014-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多