首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >再循环视图中的媒体播放器全屏

再循环视图中的媒体播放器全屏
EN

Stack Overflow用户
提问于 2015-09-13 20:23:48
回答 1查看 1.1K关注 0票数 3

我有一个回收视图,我有媒体播放器。我想让他们在一个按钮点击全屏。我尝试了两种方法来实现这一点。

  1. 创建一个新的意图,并将视频细节传递给新的意图(当前位置和url)。然而,这导致了许多问题的媒体播放器状态机。
  2. 获取屏幕尺寸,并将视图扩展到屏幕大小。问题是回收视图仍然是可滚动的。我确实创建了一个触摸侦听器来拦截触摸事件,但是也禁用了回收器项目上的触摸事件。

第二种选择比第一种更好一些,除了a.回收器视图的滚动和b.隐藏和显示状态栏,就像它与工具栏一起隐藏后再次显示一样,它覆盖了工具栏。

这是我用来设置为全屏和隐藏工具栏/通知栏的代码。

代码语言:javascript
代码运行次数:0
运行
复制
 DisplayMetrics displaymetrics = new DisplayMetrics();
        application.getCurrentActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        application.getCurrentActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
        application.getCurrentActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

   RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

   layoutParams.height = displaymetrics.heightPixels;
            layoutParams.width = displaymetrics.widthPixels;

 mTextureView.setLayoutParams(layoutParams);

为了返回,我使用这段代码来显示工具栏和通知栏。

代码语言:javascript
代码运行次数:0
运行
复制
main.getSupportActionBar().show();
           main.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

因此,我试图暂时禁用滚动在回收商的观点,而不阻止触摸事件的项目。

另外,要防止状态栏覆盖在工具栏上。

如果有人能帮我,我会非常感激的。

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 07:32:47

为此,应重写recycleview的布局管理器。这样,它只会禁用滚动。您仍然可以处理单击或任何其他触摸事件。例如:-

代码语言:javascript
代码运行次数:0
运行
复制
public class CustomGridLayoutManager extends LinearLayoutManager {
private boolean isScrollEnabled = true;

public CustomGridLayoutManager(Context context) {
    super(context);
}

public void setScrollEnabled(boolean flag) {
    this.isScrollEnabled = flag;
}

@Override
public boolean canScrollVertically() {
   //Similarly you can customize "canScrollHorizontally()" for managing horizontal scroll
    return isScrollEnabled && super.canScrollVertically();
}
}

在这里,使用"isScrollEnabled“标志,您可以启用/禁用循环视图的滚动功能。

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

https://stackoverflow.com/questions/32554203

复制
相关文章

相似问题

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