3
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:background="#FFFFFF"
    android:layout_gravity="center"
    android:padding="5dip" >
    <GridView
        android:id="@+id/homeGridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:columnWidth="200dip"
        android:adjustViewBounds="true" 
        android:layout_gravity="center"
        android:gravity="center"
        android:horizontalSpacing="0dip"
        android:numColumns="2"
        android:stretchMode="spacingWidthUniform"
        android:verticalSpacing="10dip" />
</LinearLayout>
  1. 我的网格视图中有四个图标,但它们之间的间距太大。我想减少它。
  2. 我也想让 GridView 中心到设备,但它始终保持在顶部。
4

2 回答 2

6

您应该使用维度来克服这个问题。只需为每个密度屏幕定义尺寸。

  • 价值观-ldpi
  • 价值观-mdpi
  • 价值观-hdpi
  • 价值观-xhdpi
  • 值-大

值-ldpi/dimesion.xml

<resources>
  <dimen name="grid_vertical_space">15dp</dimen>
</resources>

值-mdpi/dimesion.xml

<resources>
  <dimen name="grid_vertical_space">20dp</dimen>
</resources>

值-hdpi/dimesion.xml

<resources>
  <dimen name="grid_vertical_space">30dp</dimen>
</resources>

同样地..

像这样试试

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:background="#FFFFFF"
    android:layout_gravity="center"
    android:padding="5dip" >
    <GridView
        android:id="@+id/homeGridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:columnWidth="200dip"
        android:adjustViewBounds="true" 
        android:layout_gravity="center"
        android:gravity="center"
        android:horizontalSpacing="0dip"
        android:numColumns="2"
        android:stretchMode="columnWidth"
        android:verticalSpacing="@dimen/grid_vertical_space" />
</LinearLayout>
于 2013-03-22T09:58:24.600 回答
0

如果您的布局仅由 4 个图标组成,为什么不使用带有 2 个TableRow的TableLayout呢?我认为你可以更轻松地实现你想要的,因为:

  1. 您可以定义项目之间的间距;
  2. 您也可以将您的桌子居中。
于 2013-03-22T12:29:28.733 回答