关于RecyclerView设置Horizontal无效的情况

自定义控件代码:
public class AppDetailImageView extends RelativeLayout {
@BindView(R.id.recycler_view)
RecyclerView recyclerView;

public AppDetailImageView(Context context) {
    this(context, null);
}

public AppDetailImageView(Context context, AttributeSet attrs) {
    super(context, attrs);
    LayoutInflater.from(getContext()).inflate(R.layout.app_detail_image, this);
    ButterKnife.bind(this, this);

}

public void bindView(DetailsBean dataList) {
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
    linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
    recyclerView.setLayoutManager(linearLayoutManager);
    recyclerView.setAdapter(new AppDetailImageAdapter(getContext(),dataList));

}

}

Adapter代码:
public class AppDetailImageAdapter extends RecyclerView.Adapter<AppDetailImageAdapter.ViewHoler> {
private Context context;
private DetailsBean dataList;

public AppDetailImageAdapter(Context context ,DetailsBean dataList){
    this.context = context;

    this.dataList = dataList;
}
@Override  //ViewHodler 赋予一个xml 界面
public AppDetailImageAdapter.ViewHoler onCreateViewHolder(ViewGroup parent, int viewType) {
    ViewHoler viewHoler = new ViewHoler(LayoutInflater.from(context).inflate(R.layout.app_datail_image, parent, false));
    return viewHoler;
}

@Override //给控件赋值
public void onBindViewHolder(AppDetailImageAdapter.ViewHoler holder, int position) {
    Glide.with(context).load(Constant.IMAGE_URL+dataList.getScreen().get(position)).into(holder.img);
}

@Override  //RecyclerView 一共有多少个子项.
public int getItemCount() {
    return dataList.getScreen().size();
}

public class ViewHoler extends RecyclerView.ViewHolder{
    ImageView img;
    public ViewHoler(View itemView) {
        super(itemView);
        img = (ImageView) itemView.findViewById(R.id.image);
    }
}
}

布局代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
</android.support.v7.widget.RecyclerView>
</LinearLayout>




![image.png](http://upload-images.jianshu.io/upload_images/7644574-51f7b881e15b9a77.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

然后将自定义控件布局和item布局的LinearLayout删除后

image.png
image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容