- Android Gridview屏幕一行显示几个数目的问题
- Gridview 适配多屏,个数不确定问题
思路:
确定每个item的大小
个数 == 5 ,想要一行显示5个
while(直接总的宽度 - 左右边margin和padding - 个数 * item宽度 <= 0(实际操作中我设置的是小于 60)){
个数--;
}
setNumColunms(个数)
间距 = (直接总的宽度 - 左右边margin和padding)/(个数-1)
setHorizontalSpacing(间距);
代码
int num = 5;
int screenWidth = AndroidUtils.getScreenWidthAndHeight(getContext())[0];
while ((screenWidth - paddingLeftAndRight * 2 - mWidth * num) <= 40) {
num--;
}
this.setNumColumns(num);
spacing = (screenWidth - paddingLeftAndRight * 2 - mWidth * num)
/ (num - 1);
this.setPadding(paddingLeftAndRight, 0, paddingLeftAndRight, 0);
this.setHorizontalSpacing(spacing);