2016-02-08 63 views
1

我在Android應用程序中使用水平的RecyclerView。
一次顯示屏幕上的兩個項目(ImageViews)。RecyclerView的滾動效果

要做到這一點,我的每個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

每一條建議都是值得讚賞的。

+0

這是一個viewpager,而不是recyclerview。此鏈接可能有助於https://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.html –

+0

謝謝。非常有用的信息 – Androider

+0

@billynomates,再次感謝。我用這個信息完全達到了我想要的。你可以寫一個答案,我可以接受它 – Androider

回答

1

這是一個viewpager,而不是recyclerview。此鏈接可以幫助https://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.html

只是爲了別人的利益:

getPageWidth()返回一個浮點數,0和1, 之間代表ViewPager的寬度的部分給定 頁面應該佔。默認情況下,頁面寬度爲1,但由 覆蓋此設置,可以同時在屏幕上顯示多個頁面 。

0

不完全確定這是否會產生所需的效果,但是如果您使用的是linearlayoutmanager,則可以將scrolllistener添加到recyclerview中,並且每當調用它時,都使用linearlayout的方法scrollToPosition強制它滾動所有到下一個項目的方式。

+0

感謝您的回答。我已經實現了使用ViewPager所需的 – Androider