RecyclerView的滚动效果

时间:2016-02-08 14:41:22

标签: android android-recyclerview

我在Android应用中使用水平RecyclerView 一次在屏幕上显示两个项目(ImageViews)。

为此,我将每个ImageView的宽度设置为适配器的ViewHolder类中屏幕的一半:

  public static class ViewHolder extends RecyclerView.ViewHolder { 

  private LinearLayout ll_Img;
        private ImageView iv_ad;


        private ViewHolder(View v) {
            super(v);

            ll_Img = (LinearLayout) itemView.findViewById(R.id.ll_Img);
            ll_Img.getLayoutParams().width = (Utils.getScreenWidth(itemView.getContext()) / 2);

            iv_ad = (ImageView) v.findViewById(R.id.iv_main_ad);
        }
    }

获得屏幕宽度:

public static int getScreenWidth(Context context) {

    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int screenWidth = size.x;

    return screenWidth;
}

它工作正常,但我想在iOS上实现滚动效果,
每次滑动滚动一个项目,
因此,每次滑动后,2个项目必须符合屏幕宽度。

顺便说一下,两个视频价值1000字左右 所以我现在在这里: https://drive.google.com/file/d/0B7j1Rf_oUEbLOWk1OUtpWXFpcEE/view?usp=sharing

我想要实现的目标(正如我的同事在iOS上实现的那样): https://drive.google.com/file/d/0B6B-4-ITg1EQTElNTWsxMWg4aWs/view?usp=sharing

赞赏每条建议。

2 个答案:

答案 0 :(得分:1)

这是一个viewpager,而不是recyclerview。此链接可能会有助https://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.html

只是为了其他人的利益:

  

<input type="text" name="frmDateReg" required id="frmDate" > <script> function getDate(){ var todaydate = new Date(); var day = todaydate.getDate(); var month = todaydate.getMonth() + 1; var year = todaydate.getFullYear(); var datestring = day + "/" + month + "/" + year; document.getElementById("frmDate").value = datestring; //don't need () } document.getElementById("frmDate").onload = getDate(); </script> 返回0到1之间的浮点数,   表示给定的ViewPager宽度部分   页面应该占用。默认情况下,页面宽度为1,但是   覆盖它,你可以在屏幕上有多个页面   同时进行。

答案 1 :(得分:0)

不完全确定这是否会产生预期的效果,但是如果你使用的是linearlayoutmanager,你可以在recyclelerview中添加一个scrolllistener,每当调用它时,使用linearlayout的方法scrollToPosition强制它一直滚动到下一个项目。