Android Recyclerview中的媒体播放器全屏
我有一个回收视图,我有媒体播放器。我想让他们在一个按钮点击全屏。我尝试了两种方法来实现这一点Android Recyclerview中的媒体播放器全屏,android,scroll,android-mediaplayer,android-recyclerview,android-fullscreen,Android,Scroll,Android Mediaplayer,Android Recyclerview,Android Fullscreen,我有一个回收视图,我有媒体播放器。我想让他们在一个按钮点击全屏。我尝试了两种方法来实现这一点 创建新意图并将视频详细信息传递给新意图(当前位置和url)。然而,这导致了媒体播放器状态机的许多问题 获取屏幕尺寸并将视图扩展到屏幕大小。问题是recyclerview仍然是可滚动的。。我确实创建了一个触摸监听器来拦截触摸事件,但是也禁用了回收项目上的触摸事件 除了a之外,第二个选项比第一个好一点。循环器视图和b的滚动。隐藏并显示状态栏,如同在与工具栏一起隐藏后再次显示状态栏一样,状态栏覆盖在工具栏上
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);
为了返回,我使用此代码显示工具栏和通知栏
main.getSupportActionBar().show();
main.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
因此,我试图暂时禁用“回收器”视图上的滚动,而不阻止对项目的触摸事件
还可以尝试防止状态栏覆盖在工具栏上
如果有人能帮助我,我将不胜感激。为此,您应该覆盖recycleview的layoutmanager。这样只会禁用滚动。您仍然可以处理点击或任何其他触摸事件。例如:-
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();
}
}
在这里,使用“IsCrollenabled”标志,您可以临时启用/禁用循环视图的滚动功能