我有一个带有GridLayoutManager的RecyclerView,其spanCount为2.ViewHolder用于带有ImageView和TextView的垂直LinearLayout。 LinearLayout有一个setSize,比如100dp×100dp。当我在横向模式下查看我的活动时,我希望网格中的每个单元格都在其范围内居中。但相反,每个都是左对齐的。所以再次,因为我的跨度为2,每个View占用1的跨度,那么每行有两个视图。我希望每一行都在其跨度内居中,而不是左对齐。我该怎么做?
答案 0 :(得分:0)
您可以创建一个适合网格布局的新grid_item.xml,并相应地重新排列所有视图。 你可以在你的适配器类中定义一个布尔变量,根据这个变量,你将决定在onCreateViewHolder里面放哪个列表/网格项。
public DataHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (isGrid){
View view = inflater.inflate(R.layout.grid_item , parent ,false);
}else{
View view = inflater.inflate(R.layout.list_item , parent ,false);
}
return new DataHolder(view);
}
祝你好运