我在Android中有一个GridView,它可以在屏幕旋转期间改变对象大小。我也希望对象之间没有间隙。我希望每个视图大约150-200dp。
起初,我认为我可以获得总屏幕宽度(int totalWidth = getWindowManager().getDefaultDisplay().getWidth();
)并使用类似m_IconSize = Math.min(totalWidth / 4, 175);
的内容来获取最大图标大小,然后使用{{设置网格视图的列1}}。
但是,对于高密度分辨率或水平方向,它总是默认为175,这不是宽度的因素,并且它在GridView中的每个对象之间都会有间隙。怎么能让它无间隙?
答案 0 :(得分:0)
嗯,很明显,在横向上,它将大于175(任何超过700像素的屏幕都会这样做),因此将应用175。在更一般的说明中,你永远不应该使用固定的像素大小,在dimens.xml中创建一个条目,然后读取它int pixels = getResources().getDimensionPixelSize(R.dimen.whatever);
,但这只会调整密度,而不是水平空间。
听起来你应该尝试找到大小适合大小的最大图标数量然后使用那个大小,而不是总是尝试使用4。