【发布时间】:2011-12-04 01:19:51
【问题描述】:
我对 Android 上的网格视图布局有疑问。我找不到消除网格视图中多余空间的解决方案。我尝试了很多东西(numColumns、columnWidth、stretchMode、gravity)和建议(来自 StackOverflow),但没有一个能正常工作。我花了将近 8 个小时来解决这个问题。这是网格视图的代码:
<GridView
android:id="@+id/lookbook_gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:listSelector="@null"
android:padding="0dip"
android:layout_margin="0dip"
android:verticalSpacing="0px"
android:horizontalSpacing="0px"
android:numColumns="auto_fit"
android:columnWidth="160px"
android:stretchMode="columnWidth"
android:gravity="center"
android:layout_gravity="center"
android:background="#000"
android:cacheColorHint="#000"
android:descendantFocusability="afterDescendants"
android:layout_alignParentTop="true"
android:layout_above="@id/buttons">
</GridView>
我还尝试以编程方式减少额外空间:
private void setGridview()
{
GridView gridview = (GridView) findViewById(R.id.lookbook_gridview);
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int gridSize = display.getWidth();
int count = gridSize / 160; // image has 160x160 px
int colWidth = (gridSize / count) - PADDING;
gridview.setColumnWidth(colWidth);
gridview.setNumColumns(count);
}
但它只适用于我的 HTC Desire(右),但在具有相同显示分辨率和相同 API 版本的模拟器(左)上 - 它不起作用。
有人知道,如何在没有任何特殊填充或空间的情况下在 gridview 中设置图像以在所有分辨率和设备上成功工作吗?
【问题讨论】:
-
在 [this][1] 线程中查看我的答案,它可能会对您有所帮助。 [1]:stackoverflow.com/questions/6876861/…
标签: android layout gridview padding stretch