【问题标题】:Use SnapHelper to Scroll to a Child view in a recyclerview item使用 SnapHelper 滚动到 recyclerview 项目中的子视图
【发布时间】:2017-12-30 14:38:01
【问题描述】:

在我的 recyclerview onCreateViewholder 方法中,我创建了一个动态,它在线性布局中具有未指定数量的文本视图

 if (sessionManager.getBookScrolOrientation() == AppConstents.HORIZONTAL) {
        LinearLayout linearLayout = new LinearLayout(context);
        ViewGroup.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.MATCH_PARENT);
        linearLayout.setLayoutParams(layoutParams);
        linearLayout.setOrientation(LinearLayout.HORIZONTAL);

        Spannable spannable = getVerseSpanableHorizontal(pidreference.get(position) , cidreference.get(position));

        Pagination pagination =  new Pagination(spannable,
                pageWidth,
                pageHight,
                textPaint,
               lineSpacingMultiplier,
               lineSpacingExtra,
                isTextPaddingIncluded);

        List<CharSequence> list = pagination.getPages();

        for (CharSequence charSequence : list){
            TextView tv = new TextView(linearLayout.getContext());
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(Tools.getScreenWidth() , ViewGroup.LayoutParams.MATCH_PARENT);
            tv.setLayoutParams(params);
            tv.setText(charSequence);

            linearLayout.addView(tv);
        }


        MainViewHolder viewHolder = new MainViewHolder(linearLayout);


        return viewHolder;





    }

当我将 SnapHelper 与这个 recyclerview 一起使用时,它会滚动到线性布局的中心,而不是下一个 textview。如何让它滚动到线性布局内的下一个文本视图?

【问题讨论】:

    标签: android android-recyclerview


    【解决方案1】:

    如果我理解正确,问题是SnapHelper 将当前视图的中心捕捉到回收器的中心。正如docs 所说:

    该实现会将目标子视图的中心捕捉到附加的 RecyclerView 的中心。

    如果您希望当前视图捕捉到回收器的开头,请使用诸如 one 之类的库。用 gradle 导入它并像这样激活它:

    GravitySnapHelper(Gravity.START).attachToRecyclerView(recyclerview);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多