2016-04-19 13 views

答えて

0

あなたはまた、水平recycleviewを使用することができ、このtutorial

0

に従ってください代わりにHorizontalScrollView

ViewPagerを使用することができます。ここでは、コードは次のとおり

断片/活性レイアウト:

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     ... 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/horizontal_recycler_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="15dp" 
     android:layout_marginBottom="15dp" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:horizontalSpacing="10dp" 
     android:isScrollContainer="false" 
     android:stretchMode="columnWidth" 
     android:verticalSpacing="10dp" 
     /> 
      ... 

</LinearLayout> 

項目:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
    android:id="@+id/horizontal_item_view_image" 
    android:layout_marginRight="10dp" 
    android:layout_width="109dp" 
    android:layout_height="109dp" /> 

</LinearLayout> 

アダプター:

public class HorizontalPhotosAdapter extends RecyclerView.Adapter<HorizontalPhotosAdapter.MyViewHolder> { 

    private Context context; 
    private LayoutInflater inflater; 
    private ArrayList<Bitmap> bitmapList; 

    public class MyViewHolder extends RecyclerView.ViewHolder { 

     private ImageView riv; 

     public MyViewHolder(View view) { 
      super(view); 

      riv = (ImageView) view.findViewById(R.id.horizontal_item_view_image); 

     } 
    } 


    public HorizontalPhotosAdapter(Context context, ArrayList<Bitmap> bitmapList, String[] imageUrls) { 
     this.context = context; 
     this.bitmapList = bitmapList; 
    } 

    @Override 
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.horizontal_item_view, parent, false); 

     if (itemView.getLayoutParams().width == RecyclerView.LayoutParams.MATCH_PARENT) 
      itemView.getLayoutParams().width = RecyclerView.LayoutParams.WRAP_CONTENT; 

     return new MyViewHolder(itemView); 
    } 

    @Override 
    public void onBindViewHolder(final MyViewHolder holder, final int position) { 

     holder.riv.setImageBitmap(bitmapList.get(position)); 

    } 


    @Override 
    public int getItemCount() { 
     return bitmapList.size(); 
    } 
} 

フラグメント/アクティビティの実装:

  horizontalAdapter=new HorizontalPhotosAdapter(getContext(), bitmapList); 
      horizontal_recycler_view.setAdapter(horizontalAdapter); 
      horizontalAdapter.notifyDataSetChanged(); 

      LinearLayoutManager horizontalLayoutManagaer = new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false); 
      horizontal_recycler_view.setLayoutManager(horizontalLayoutManagaer); 
      horizontal_recycler_view.setAdapter(horizontalAdapter); 
関連する問題