[英]Ensuring a size is a factor of the screen size
我在Android中有一个GridView,该对象在屏幕旋转时会更改大小。 我还希望这些对象之间没有间隙。 我希望每个视图都在150-200dp左右。
起初,我以为我可以获取屏幕的总宽度( int totalWidth = getWindowManager().getDefaultDisplay().getWidth();
),然后使用类似m_IconSize = Math.min(totalWidth / 4, 175);
要获得最大图标大小,然后使用gridView.setNumColumns(totalWidth / m_IconSize);
设置网格视图的列gridView.setNumColumns(totalWidth / m_IconSize);
。
但是,对于高密度分辨率或水平方向,它将始终默认为175,这不是宽度的因素,并且在GridView中的每个对象之间都会有间隙。 我怎样才能做到完美无缺?
嗯,很明显,在横向中它将大于175(任何具有700像素以上的屏幕都可以做到),因此将应用175。 在更一般的注释中,永远不要使用固定的像素大小,不要在dimens.xml中创建一个条目,然后再读取它。int int pixels = getResources().getDimensionPixelSize(R.dimen.whatever);
,但这只会调整密度,而不会调整水平空间。
听起来,您应该尝试以合适的尺寸找到可以容纳的最大图标数量,然后使用该尺寸,而不是总是尝试使用4。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.