如何在recyclerView中切换创建方向

时间:2017-03-09 09:42:06

标签: android

enter image description here

嗨,我有一个问题。

我想从左边创建recyclerview的项目。但他们现在是对的。

你可以给我一点提示吗?

所有版面设置已经是“水平”

感谢您阅读我的问题。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:orientation="horizontal">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycle_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scrollbars="horizontal"
        android:layout_gravity="left"
        >

    </android.support.v7.widget.RecyclerView>

public class PostAdapter extends RecyclerView.Adapter<Bitmap_ViewHolder> {

    private ArrayList<Bitmap> items=new ArrayList<>();

    public PostAdapter(ArrayList<Bitmap> items){
        this.items=items;
    }

    //뷰홀더 객체 생성
    @Override
    public Bitmap_ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v=LayoutInflater.from(parent.getContext()).inflate(R.layout.add_imagelist,parent,false);
        return new Bitmap_ViewHolder(v);
    }

    // 데이터를 뷰홀더와 바인딩
    @Override
    public void onBindViewHolder(Bitmap_ViewHolder holder, int position) {
        Bitmap item=items.get(position);
        holder.iv.setImageBitmap(item);
    }

    // 추가
    public void add(Bitmap pd){
        items.add(pd);
        notifyDataSetChanged();
    }

    // 특정 위치 아이템 삭제
    public void removeItem(PostData pd, int index){
        items.remove(index);
        notifyItemRemoved(index);
    }

    public ArrayList<Bitmap> getAllItem(){
        return items;
    }

    //데이타 수
    @Override
    public int getItemCount() {
        return items.size();
    }
}


public class Bitmap_ViewHolder extends RecyclerView.ViewHolder {
    ImageView iv;
    public Bitmap_ViewHolder(View v){
        super(v);
        iv=(ImageView)v.findViewById(R.id.addlist_picture);
    }
}






@Override
public void onClick(View v) {
    switch (v.getId()){
        //사진 추가 눌렸을 때
        case R.id.iv_picture:
            openGallery();
            break;
        case R.id.tv_picture:
            openGallery();
            break;


private void openGallery(){
    Intent gallery=new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
    startActivityForResult(gallery, PICK_IMAGE);
}

private void init(){
    item= new ArrayList<>();
    mAdapter=new PostAdapter(item);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));
    mRecyclerView.setAdapter(mAdapter);
}

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。

我刚设置了。

<android.support.v7.widget.RecyclerView
                    android:id="@+id/recycle_view"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:scrollbars="horizontal"
                    >
                </android.support.v7.widget.RecyclerView>

Formerl,我将View的宽度和高度设置为'match_parent'。因此,每个项目都显示为占用较大的scrren,即使它们只设置为60dp。

这是我非常愚蠢的错误。