0

我正在尝试创建一个新布局。我使用的最后一个布局是 GridLayout,基本上创建了一个 3 列 8 行的表格。使用 rowspan,我能够在 Eclipse 中实现我想要的外观,但是我的手机屏幕比 Eclipse 长一点,它显示第 1 列和第 2 列看起来不错,但第 3 列向右拉伸。

新布局如下所示: 在此处输入图像描述

** 您可以看到右侧的箭头远远超出屏幕边缘,我不知道为什么。我正在尝试创建一个在不同设备上使用时会适当缩放的布局。

XML 代码如下:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

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

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:weightsum="1.0" >

            <ImageView
                android:id="@+id/arrowLeft"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".33"
                android:src="@drawable/arrowleftoff" />

            <Space 
                android:layout_width="0dp" 
                android:layout_height="match_parent"
                android:layout_weight=".34" />

            <ImageView
                android:id="@+id/arrowRight"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight=".33"
                android:src="@drawable/arrowrightoff" />



        </LinearLayout>

    </TableRow>

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

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
        </LinearLayout>

    </TableRow>

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

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
        </LinearLayout>

    </TableRow>

</TableLayout>
4

1 回答 1

0

该问题是由于缺乏对 Eclipse 在布局方面的工作方式的理解引起的。首先,Eclipse 可视化布局编辑器中显示的屏幕是一个“示例”,说明在窗口顶部选定设备(在我的情况下为 Nexus S)时它的外观。

其次,我使用的布局没有锚定到某些元素或父元素。因此,当屏幕尺寸发生变化时,布局也会随之变化。

结论:我现在正在使用和理解RelativeLayout,一旦你弄清楚它就会产生奇迹。

这是一个很好的资源,它真正帮助我了解发生了什么: Mobile Tuts Plus:布局基础

于 2012-12-27T17:51:37.140 回答