2

我想在我的屏幕上有 2 个相对布局。一个低于另一个。我制作了这段代码,但它不起作用。在这种情况下,我只能看到两者的上部相对布局,尽管我设置了 wrap_content,但这个布局占用了整个空间。

编辑!:我把第二个代码放在下面,它也失败了。

编辑2!:我发现问题......这有点......伤心。问题在于我的主题。我将背景设置为太大的 png 文件,当我通过清单应用默认主题时,这发生了。当我删除它一切都很好。

这个版本也失败了。

新代码:

<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" >

    <RelativeLayout 
        android:id="@+id/some_id" 
        android:layout_above="@+id/some_id2"
        android:layout_alignParentTop="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <Button 
            android:id="@+id/main_button_localize" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="@string/main_localize" />

    </RelativeLayout>

    <RelativeLayout 
        android:id="@id/some_id2" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true"  >

        <ToggleButton 
            android:id="@+id/main_help" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"  />

    </RelativeLayout>

</RelativeLayout>

旧代码:

<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" >

    <RelativeLayout
        android:id="@+id/maps_manager_menu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" >

        <!-- Top -->
        <Button 
            android:id="@+id/maps_manager_top_left" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:contentDescription="@string/empty" />

        <Button 
            android:id="@+id/maps_manager_top_middle" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/maps_manager_top_left"
            android:contentDescription="@string/empty" />

        <Button 
            android:id="@+id/maps_manager_top_right" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/maps_manager_top_middle"
            android:contentDescription="@string/empty" />

        <!-- Middle -->
        <Button 
            android:id="@+id/maps_manager_middle_left" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/maps_manager_top_left"
            android:contentDescription="@string/empty" />

        <Button 
            android:id="@+id/maps_manager_middle_middle" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/maps_manager_middle_left"
            android:layout_below="@id/maps_manager_top_middle"
            android:contentDescription="@string/empty" />

        <Button 
            android:id="@+id/maps_manager_middle_right" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/maps_manager_middle_middle"
            android:layout_below="@id/maps_manager_top_right"
            android:contentDescription="@string/empty" />

        <!-- Bottom -->
        <Button 
            android:id="@+id/maps_manager_bottom_left" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/maps_manager_middle_left"
            android:contentDescription="@string/empty" />

        <Button 
            android:id="@+id/maps_manager_bottom_middle" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/maps_manager_bottom_left"
            android:layout_below="@id/maps_manager_middle_middle"
            android:contentDescription="@string/empty" />

        <Button 
            android:id="@+id/maps_manager_bottom_right" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/maps_manager_bottom_middle"
            android:layout_below="@id/maps_manager_middle_right"
            android:contentDescription="@string/empty" />

    </RelativeLayout>

    <RelativeLayout
           android:id="@+id/maps_manager_controls"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignBottom="true"
            android:layout_below="@id/maps_manager_menu" >

            <ToggleButton 
                android:id="@+id/maps_manager_help" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </RelativeLayout>

</RelativeLayout> 
4

4 回答 4

1

最好将具有垂直方向的 LinearLayout 作为两个子 RelativeLayouts 的父级。如果您可以为 RelativeLayouts 放置 80:20 的高度权重,那么它将适合整个屏幕。

于 2012-10-04T12:14:06.970 回答
1
<ScrollView 
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content">

<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" >
             <RelativeLayout
            android:id="@+id/maps_manager_menu"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:layout_alignParentTop="true" >

            <!-- Top -->
            <Button 
                android:id="@+id/maps_manager_top_left" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:contentDescription="@string/empty" />

            <Button 
                android:id="@+id/maps_manager_top_middle" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_top_left"
                android:contentDescription="@string/empty" />

            <Button 
                android:id="@+id/maps_manager_top_right" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_top_middle"
                android:contentDescription="@string/empty" />

            <!-- Middle -->
            <Button 
                android:id="@+id/maps_manager_middle_left" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/maps_manager_top_left"
                android:contentDescription="@string/empty" />

            <Button 
                android:id="@+id/maps_manager_middle_middle" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_middle_left"
                android:layout_below="@id/maps_manager_top_middle"
                android:contentDescription="@string/empty" />

            <Button 
                android:id="@+id/maps_manager_middle_right" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_middle_middle"
                android:layout_below="@id/maps_manager_top_right"
                android:contentDescription="@string/empty" />

            <!-- Bottom -->
            <Button 
                android:id="@+id/maps_manager_bottom_left" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/maps_manager_middle_left"
                android:contentDescription="@string/empty" />

            <Button 
                android:id="@+id/maps_manager_bottom_middle" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_bottom_left"
                android:layout_below="@id/maps_manager_middle_middle"
                android:contentDescription="@string/empty" />

            <Button 
                android:id="@+id/maps_manager_bottom_right" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_bottom_middle"
                android:layout_below="@id/maps_manager_middle_right"
                android:contentDescription="@string/empty" />

        </RelativeLayout>

        <RelativeLayout
               android:id="@+id/maps_manager_controls"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignBottom="true"
                android:layout_below="@id/maps_manager_menu" >

                <ToggleButton 
                    android:id="@+id/maps_manager_help" 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

            </RelativeLayout>
    </RelativeLayout>
 </ScrollView>
于 2012-10-04T12:17:23.117 回答
1
<ScrollView 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" >

 <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        <RelativeLayout
            android:id="@+id/maps_manager_menu"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:layout_alignParentTop="true" >

            <!-- Top -->
            <Button 
                android:id="@+id/maps_manager_top_left" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:contentDescription="@string/hello_world" />

            <Button 
                android:id="@+id/maps_manager_top_middle" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_top_left"
                android:contentDescription="@string/hello_world" />

            <Button 
                android:id="@+id/maps_manager_top_right" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_top_middle"
                android:contentDescription="@string/hello_world" />

            <!-- Middle -->
            <Button 
                android:id="@+id/maps_manager_middle_left" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/maps_manager_top_left"
                android:contentDescription="@string/hello_world" />

            <Button 
                android:id="@+id/maps_manager_middle_middle" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_middle_left"
                android:layout_below="@id/maps_manager_top_middle"
                android:contentDescription="@string/hello_world" />

            <Button 
                android:id="@+id/maps_manager_middle_right" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_middle_middle"
                android:layout_below="@id/maps_manager_top_right"
                android:contentDescription="@string/hello_world" />

            <!-- Bottom -->
            <Button 
                android:id="@+id/maps_manager_bottom_left" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/maps_manager_middle_left"
                android:contentDescription="@string/hello_world" />

            <Button 
                android:id="@+id/maps_manager_bottom_middle" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_bottom_left"
                android:layout_below="@id/maps_manager_middle_middle"
                android:contentDescription="@string/hello_world" />

            <Button 
                android:id="@+id/maps_manager_bottom_right" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/maps_manager_bottom_middle"
                android:layout_below="@id/maps_manager_middle_right"
                android:contentDescription="@string/hello_world" />

        </RelativeLayout>

        <RelativeLayout
               android:id="@+id/maps_manager_controls"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/maps_manager_menu" >

                <ToggleButton 
                    android:id="@+id/maps_manager_help" 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

            </RelativeLayout>
    </RelativeLayout>
</ScrollView>
于 2012-10-04T12:35:27.720 回答
0


请按照以下步骤操作:

  1. 将 ID 添加到最顶层的相对布局中说: android:id="@+id/rtvlt_first"
  2. 在第二个 RelativeLayout 中删除 alignparenttop 属性。
  3. 添加 android:tobottomof="@id/rtvlt_first"...

    试试这个....
    祝你好运!
于 2012-10-04T12:05:49.270 回答