执行应用程序时,Android布局覆盖

时间:2013-11-20 06:48:47

标签: android

我制作了一个程序,其中包含左侧的标题和右侧的值:(注意,它们都是TextView类型。

但是一旦我运行应用程序,字段似乎覆盖在彼此的顶部。这可能是由于他们在动态添加新值时重新调整大小。我该如何解决?所有我想做的就是做一个简单的布局:/

感谢您的时间。是否有更简单的方法来进行布局?我试过唱表格布局来更多地构建信息,但表格一直在移动,我不能添加行或任何东西:/

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/shipName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="Ship Name"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/upgrade2Name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/shipName"
    android:layout_below="@+id/shipName"
    android:layout_marginTop="16dp"
    android:text="Speed:" />

<TextView
    android:id="@+id/shipDistance"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/shipName"
    android:layout_below="@+id/upgrade2Name"
    android:text="Distance:"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/shipLocation"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/shipName"
    android:layout_below="@+id/shipDistance"
    android:text="Location:"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/shipStatus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/shipFuel"
    android:layout_below="@+id/shipFuel"
    android:text="Status:" />

<TextView
    android:id="@+id/locationActual"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/shipDistance"
    android:layout_toRightOf="@+id/shipName"
    android:text="Earth - Launch Station" />

<TextView
    android:id="@+id/distanceActua"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/shipDistance"
    android:layout_toRightOf="@+id/shipName"
    android:text="0" />

<TextView
    android:id="@+id/speedActual"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/distanceActua"
    android:layout_toRightOf="@+id/shipName"
    android:text="TextView" />

<Button
    android:id="@+id/launchButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/upgradeButton"
    android:layout_alignBottom="@+id/upgradeButton"
    android:layout_centerHorizontal="true"
    android:text="Launch" />

<Button
    android:id="@+id/buyFuelButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/launchButton"
    android:layout_alignBottom="@+id/launchButton"
    android:layout_alignParentRight="true"
    android:text="Buy Fuel" />

<Button
    android:id="@+id/upgradeButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="14dp"
    android:text="Upgrade" />

<TextView
    android:id="@+id/newsFeed"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/shipStatus"
    android:layout_below="@+id/shipStatus"
    android:layout_marginTop="62dp"
    android:text="TextView" />

<TextView
    android:id="@+id/Information"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/shipStatus"
    android:layout_below="@+id/shipStatus"
    android:text="Information:" />

<TextView
    android:id="@+id/statusActual"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/Information"
    android:layout_toRightOf="@+id/shipName"
    android:text="Ready for Launch" />

<TextView
    android:id="@+id/vehicleInfo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/Information"
    android:layout_alignBottom="@+id/Information"
    android:layout_toRightOf="@+id/shipName"
    android:text="0" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/Information"
    android:layout_below="@+id/Information"
    android:text="Money:" />

<TextView
    android:id="@+id/vehicleMoney"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/vehicleInfo"
    android:layout_toRightOf="@+id/shipName"
    android:text="0" />

<ProgressBar
    android:id="@+id/fuelBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/statusActual"
    android:layout_alignParentRight="true"
    android:layout_toRightOf="@+id/shipName" />

<TextView
    android:id="@+id/shipFuel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/shipLocation"
    android:layout_below="@+id/shipLocation"
    android:text="Fuel:" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
</LinearLayout>

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/newsFeed"
    android:layout_centerVertical="true" >

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

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

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

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

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

</TableLayout>

1 个答案:

答案 0 :(得分:0)

如果您能够发布本来有帮助的屏幕截图会很好,但根据描述,我试图重新组织xml,如下所示。请试着看看它是否适合你。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" 
    android:orientation="vertical">

    <TextView
        android:id="@+id/shipName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="10dp"
        android:text="Ship Name"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TableLayout android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_below="@+id/shipName">

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/upgrade2Name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:text="Speed:" />

            <TextView
                android:id="@+id/speedActual"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:text="TextView" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/shipDistance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/shipName"
                android:layout_below="@+id/upgrade2Name"
                android:text="Distance:"
                android:textAppearance="?android:attr/textAppearanceSmall" />

            <TextView
                android:id="@+id/distanceActua"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/shipDistance"
                android:layout_toRightOf="@+id/shipName"
                android:text="0" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/shipLocation"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/shipName"
                android:layout_below="@+id/shipDistance"
                android:text="Location:"
                android:textAppearance="?android:attr/textAppearanceSmall" />

            <TextView
                android:id="@+id/locationActual"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/shipDistance"
                android:layout_toRightOf="@+id/shipName"
                android:text="Earth - Launch Station" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/shipFuel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/shipLocation"
                android:layout_below="@+id/shipLocation"
                android:text="Fuel:" />

            <ProgressBar
                android:id="@+id/fuelBar"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/statusActual"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@+id/shipName" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/shipStatus"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/shipFuel"
                android:layout_below="@+id/shipFuel"
                android:text="Status:" />

            <TextView
                android:id="@+id/statusActual"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/Information"
                android:layout_toRightOf="@+id/shipName"
                android:text="Ready for Launch" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/Information"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/shipStatus"
                android:layout_below="@+id/shipStatus"
                android:text="Information:" />

            <TextView
                android:id="@+id/vehicleInfo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/Information"
                android:layout_alignBottom="@+id/Information"
                android:layout_toRightOf="@+id/shipName"
                android:text="0" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/TextView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/Information"
                android:layout_below="@+id/Information"
                android:text="Money:" />

            <TextView
                android:id="@+id/vehicleMoney"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/vehicleInfo"
                android:layout_toRightOf="@+id/shipName"
                android:text="0" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/newsFeed"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/shipStatus"
                android:layout_below="@+id/shipStatus"
                android:layout_marginTop="62dp"
                android:text="TextView" />

            <TableLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/newsFeed"
                android:layout_centerVertical="true" 
                >

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

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

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

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

                <TableRow
                    android:id="@+id/tableRow5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >
                </TableRow>
            </TableLayout>
        </TableRow>
    </TableLayout>

    <LinearLayout
        android:id="@+id/buttons"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:layout_alignParentBottom="true"
        android:gravity="center_horizontal">

        <Button
            android:id="@+id/launchButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/upgradeButton"
            android:layout_alignBottom="@+id/upgradeButton"
            android:layout_centerHorizontal="true"
            android:text="Launch" />

        <Button
            android:id="@+id/buyFuelButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/launchButton"
            android:layout_alignBottom="@+id/launchButton"
            android:layout_alignParentRight="true"
            android:text="Buy Fuel" />

        <Button
            android:id="@+id/upgradeButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="14dp"
            android:text="Upgrade" />
    </LinearLayout>

</RelativeLayout>