Android GridView间距和中心问题

时间:2013-03-22 09:46:35

标签: java android

<?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中心设置为设备,但它总是如此 保持在最佳状态。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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

  1. 您可以定义项目之间的间距;
  2. 你也可以把你的桌子放在中心。