我正在创建一个EPG视图,我有多个水平的RecyclerVIEws(作为电视节目)封装在linearLayout中.当我滚动其中一个RecyclerVIEw时,我希望其余的视图一起滚动.
@OverrIDepublic voID onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); layoutContent.setWeightSum(epg.getChannels().size()); //prepare recycler vIEws and add into layoutContent based on epg channels for(EPG.Channel ch : epg.getChannels()){ AppLog.error(TAG, "Creating RecyclerVIEw for: " + ch.getdisplayname()); //create new recycler vIEw final RecyclerVIEw rv = new RecyclerVIEw(layoutContent.getContext()); lstRecyclerVIEws.add(rv); //set layout manager rv.setLayoutManager(new linearlayoutmanager(layoutContent.getContext(), linearlayoutmanager.HORIZONTAL, false)); //create adapter rv.setAdapter(new MyAdapter(ch.getPrograms())); rv.setItemAnimator(new DefaultItemAnimator()); //add into parent layout linearLayout.LayoutParams lp = new linearLayout.LayoutParams(linearLayout.LayoutParams.MATCH_PARENT, 0); lp.weight = 1; layoutContent.addVIEw(rv, lp); }}
我已经尝试在我的视图中添加一个滚动监听器,但我对RecyclerVIEw.OnScrollListener的onScrolled方法感到困惑,因为我无法弄清楚如何滚动其他视图.
任何帮助/建议都会有所帮助.
解决方法:
HorizontelScrollVIEw
{
线性布局
{
水平回收者视图的垂直列表,
覆盖水平回收视图的LayoutManager
canScroolhorizontally()方法返回false,以便它们
所有按照Grand Parent ScrollVIEw滚动在一起.
}
我们主要关注的是水平滚动水平回收者视图的垂直列表,
首先我试图将它们全部放在水平滚动视图上,但这是androID系统明确拒绝的东西,
所以我保持一个线性布局(在我的情况下垂直方向)作为调解员.
因此,由于水平滚动视图,epg网格现在可以垂直滚动,因为它们在一个垂直回收器视图内以及水平滚动.
我们不应该允许水平列表独立滚动,所以我扩展了layoutmanager并禁止水平滚动,现在它们只在grandParent滚动下滚动.
以上是内存溢出为你收集整理的android – 一起滚动多个水平RecyclerView全部内容,希望文章能够帮你解决android – 一起滚动多个水平RecyclerView所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)