waq*_*lam 9 android scroll epg android-recyclerview
我正在创建一个EPG视图,我有多个水平RecyclerViews(作为电视节目)封装在LinearLayout中.当我滚动其中一个RecyclerView时,我希望其余的视图一起滚动.
@Override
public 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);
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试添加滚动收听到我的意见,但我很困惑与RecyclerView.OnScrollListener的onScrolled方法,因为我无法弄清楚如何滚动其他意见.
任何帮助/建议都会有所帮助.
HorizontelScrollView
{
线性布局
{
水平回收器视图的垂直列表,覆盖水平回收器视图的 LayoutManager 的
canScroolhorizontally() 方法以返回 false ,以便它们都根据祖级 ScrollView 一起滚动。
}
我们的主要焦点是水平滚动水平回收器视图的垂直列表,首先我尝试将它们全部保留在水平滚动视图上,但这是 Android 系统明确拒绝的,所以我保留了一个线性布局(在我的案例垂直方向)作为调解者。
因此,epg 网格现在可以垂直滚动(因为它们位于一个垂直回收器视图内),也可以水平滚动(因为水平滚动视图)。而且我们不应该允许水平列表独立滚动,所以我扩展了布局管理器并禁止水平滚动,现在它们只在祖父滚动下滚动。
| 归档时间: |
|
| 查看次数: |
3445 次 |
| 最近记录: |