首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在覆盖MediaController ()之后隐藏

在覆盖MediaController ()之后隐藏
EN

Stack Overflow用户
提问于 2018-12-06 11:25:32
回答 1查看 101关注 0票数 0

我们正在开发一个安卓应用程序,在该应用程序中,防止MediaControllerVideoView可见是至关重要的。这是通过重写hide()来实现的。

代码语言:javascript
复制
mediaController = new MediaController(getContext(), false){
    @Override
    public void hide() {
        //Do not hide MediaController
        if (videoView.getVisibility() == VISIBLE){
            return;
        }
        //Hide only if VideoView is not visible anymore
        super.hide();
    }
};

VideoView是片段的一部分,如果删除该片段并出现下一个片段,则MediaController仍然是可见的,但无法访问。我们尝试了不同的解决方案,以确保在删除super.hide()时调用VideoView,但没有成功。上面的那个不起作用。我们还将if语句更改为:

  • if (videoView.isShown())
  • if (videoView.isActivated())

我们甚至尝试手动对片段的setVisibility(View.GONE)中的MediaController进行onDetach()

一旦片段被分离,我们如何正确地隐藏MediaController?

EN

回答 1

Stack Overflow用户

发布于 2018-12-06 14:08:12

我们终于找到了解决这个问题的办法。

覆盖hide()

代码语言:javascript
复制
@Override
public void hide() {
    //Do not hide MediaController
    if (videoView.isShown()){
        return;
    }
    super.hide();
}

onDetach()中,在super.onDetach()之后手动调用hide()

代码语言:javascript
复制
@Override
public void onDetach() {
    super.onDetach();
    mediaController.hide();
}

MediaController可见的期间,VideoView现在将永久可见。一旦VideoView消失,MediaController也会消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53650384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档