recycleView横向滚动案例
时间: 2023-07-28 21:42:57 浏览: 98
好的,这里是一个RecyclerView横向滚动的简单案例。
首先,在xml布局文件中,需要定义RecyclerView控件,并设置宽度和高度。
```
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="200dp"
android:orientation="horizontal"/>
```
接下来,在Activity或Fragment中,需要设置RecyclerView的LayoutManager和Adapter。
```
RecyclerView recyclerView = findViewById(R.id.recyclerView);
// 设置LayoutManager为横向滚动
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(layoutManager);
// 设置Adapter
MyAdapter adapter = new MyAdapter(dataList);
recyclerView.setAdapter(adapter);
```
其中,MyAdapter是自定义的Adapter,需要继承RecyclerView.Adapter类,并实现onCreateViewHolder、onBindViewHolder和getItemCount方法。在onCreateViewHolder方法中,需要创建ViewHolder,并返回。在onBindViewHolder方法中,需要将数据绑定到ViewHolder中。getItemCount方法需要返回数据集合的大小。
```
class MyAdapter extends RecyclerView.Adapter<MyViewHolder> {
private List<String> dataList;
public MyAdapter(List<String> dataList) {
this.dataList = dataList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
MyViewHolder viewHolder = new MyViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
String data = dataList.get(position);
holder.textView.setText(data);
}
@Override
public int getItemCount() {
return dataList.size();
}
}
```
最后,在item布局文件中,需要设置宽度为match_parent,高度可以根据实际情况设置。
```
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
```
这样就可以实现一个简单的RecyclerView横向滚动。
阅读全文