java - 表格行之间的间隙太大

标签 java android eclipse user-interface android-tablelayout

请看下面的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".HomeScreen" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:stretchColumns="*"
        android:layout_margin="10dp"
        android:layout_centerInParent="true"
        android:weightSum="4" >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:gravity="center"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/fStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:clickable="true"
                android:background="@android:drawable/btn_default"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/rStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/sStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/cStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/aStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/lStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView7"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView7"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/oStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView8"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView8"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/tStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView9"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView9"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/eStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

        </TableRow>

        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView10"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView10"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/hStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView11"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView11"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/dStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView12"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView12"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/aStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

        </TableRow>
    </TableLayout>

</RelativeLayout>

在 WVGA 5.1 屏幕中,这会生成以下 UI

enter image description here

如您所见,行之间存在巨大间隙。我想避免这种情况,这样它在所有智能手机上都会看起来不错。我怎样才能做到这一点?

最佳答案

tableRow的高度和宽度设置为fill_parent,并将每个LinearLayout的高度也设置为fill_parent

使用此数据

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".HomeScreen" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:stretchColumns="*"
        android:layout_margin="10dp"
        android:layout_centerInParent="true"
        android:weightSum="4" >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:gravity="center"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/fStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:clickable="true"
                android:background="@android:drawable/btn_default"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/rStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/sStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/cStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/aStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/lStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView7"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView7"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/oStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView8"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView8"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/tStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView9"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView9"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/eStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

        </TableRow>

        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView10"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView10"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/hStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView11"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView11"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/dStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".3"
                android:gravity="center"
                android:background="@android:drawable/btn_default"
                android:clickable="true"
                android:orientation="vertical" >

                <ImageView
                    android:id="@+id/imageView12"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/textView12"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/aStr"
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>

        </TableRow>
    </TableLayout>

</RelativeLayout>

关于java - 表格行之间的间隙太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19517601/

相关文章:

java - 我可以验证输入字段是否被屏蔽或显示文本吗?

java - 在 Linux Mint 中打开 Eclipse 时出错; OpenJDK 64 位服务器 VM 警告 : ignoring option MaxPermSize=512m; support was removed in 8. 0

java - Button.performClick() 不起作用

c++ - 在 Eclipse 中设置构建输出目录 - c++

java - 致命信号 11 (SIGSEGV) 位于 0x00000000 (code=1) - PhoneGap

java - 如何生成 5 个随机问题?

java - wildfly:从配置目录读取属性

eclipse - 配置 Eclipse 以允许 Fiddler 拦截请求

android - java.lang.IllegalArgumentException 错误 : provider==null

javascript - React-native:无法构建Android应用程序