我有一个RecyclerView,其GridLayoutManager的spanCount为2。ViewHolder用于具有ImageView和TextView的垂直LinearLayout。LinearLayout有一个setSize,即100dp x 100dp。当我在横向模式下查看我的活动时,我希望网格中的每个单元格都在其范围内居中。但是,每个都是左对齐的。同样,因为我的跨度是2,而每个View的跨度是1,所以我每行有两个视图。我希望每一行都在其范围内居中,而不是左对齐。我该怎么做?
发布于 2016-10-09 06:08:13
您可以创建适合网格布局的新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);
}祝好运
https://stackoverflow.com/questions/39937734
复制相似问题