纵向
代码实现
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".RecycleActivity">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycleView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</RelativeLayout>
public class RecycleActivity extends AppCompatActivity {
List<Bean> list=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycle);
//添加50条测试数据
for (int i=1;i<50;i++){
list.add(new Bean(i));
}
RecyclerView recyclerView = findViewById(R.id.recycleView1);
//布局加载器 StaggeredGridLayoutManager.HORIZONTAL 为纵向 StaggeredGridLayoutManager.VERTICAL 为横向
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(6,StaggeredGridLayoutManager.HORIZONTAL));
recyclerView.setAdapter(new RecyclerAdapter(list));
}
}
RecyclerAdapter
和 ViewHolder
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.MyViewHolder> {
List<Bean> list;
public RecyclerAdapter(List<Bean> list1) {
list=list1;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.item1, parent, false);
return new MyViewHolder(inflate);
}
@Override
public void onBindViewHolder(@NonNull RecyclerAdapter.MyViewHolder holder, int position) {
holder.id.setText(list.get(position).getA()+" ");
}
@Override
public int getItemCount() {
return list.size();
}
class MyViewHolder extends RecyclerView.ViewHolder{
TextView id;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
id = itemView.findViewById(R.id.id1);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:id="@+id/ll"
android:layout_height="wrap_content">
<TextView
android:layout_marginStart="50dp"
android:textColor="@color/black"
android:id="@+id/id1"
android:text="aa"
android:layout_width="50dp"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp" />
</LinearLayout>
public class Bean {
private int a;
public Bean(int i) {
a=i;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}