要实现在Android Studio中添加列标题和不同列宽度的需求,可以使用RecyclerView控件和GridLayoutManager进行布局。使用GridLayoutManager,您可以设置每个单元格的大小和位置,从而实现不同的列宽度。
以下是示例代码:
1.在XML布局文件中添加RecyclerView控件:
2.在Java代码中设置LayoutManager和数据适配器:
//定义列数 int numberOfColumns = 3;
//设置LayoutManager GridLayoutManager gridLayoutManager = new GridLayoutManager(this, numberOfColumns); recyclerView.setLayoutManager(gridLayoutManager);
//定义数据列表
ArrayList
//添加数据
...
//设置适配器 MyAdapter myAdapter = new MyAdapter(dataList); recyclerView.setAdapter(myAdapter);
3.定义数据适配器:
public class MyAdapter extends RecyclerView.Adapter
private ArrayList dataList;
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView column1;
public TextView column2;
public TextView column3;
public ViewHolder(View itemView) {
super(itemView);
column1 = (TextView) itemView.findViewById(R.id.column1);
column2 = (TextView) itemView.findViewById(R.id.column2);
column3 = (TextView) itemView.findViewById(R.id.column3);
}
}
public MyAdapter(ArrayList dataList) {
this.dataList = dataList;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.my_row_layout, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
MyData currentItem = dataList.get(position);
holder.column1.setText(currentItem.getColumn1());
holder.column2.setText(currentItem.getColumn2());
holder.column3.setText(currentItem.getColumn3());
}
@Override
public int getItemCount() {
return dataList.size();
}
}
4.定义单元格布局文件my_row_layout.xml: