我在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版本相同的模拟器上(左边) - 它无法工作。
有人知道如何在网格视图中设置图片,不需要任何特殊的填充或空间,以便在所有分辨率和设备上成功运行吗?