0

ビューの一部が画面の外に出る/表示されないようにするマージンを下に設定すると、レイアウト全体が上に移動し、「同じ」ように見えます。つまり、ビューを内部に再配置しないことを意味します。

しかし、この単純化された例の場合、マージンを設定すると、コンテナが縮小するか、内部のレイアウトが下に移動します。説明する写真は次のとおりです。

マージンを設定する前に:

ここに画像の説明を入力してください

200dipマージンボトムを設定した後:

ここに画像の説明を入力してください

これはXMLです:

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

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="400dip"
        android:background="#ff0000"
        android:gravity="center"
        android:layout_marginBottom="200dip"
        >

        <View 
            android:layout_width="fill_parent"
            android:layout_height="200dip"
            android:background="#00ff00"
            />

    </LinearLayout>

    <Button
        android:id="test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        android:text="@string/hello_world"
        tools:context=".MainActivity" />


</RelativeLayout>

これを回避するにはどうすればよいですか?

4

1 に答える 1

0

これを実現するには、上に移動するビューの上部マージンを負に設定してみてください。

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="400dip"
        android:background="#ff0000"
        android:gravity="center"
        android:layout_marginTop="-200dip"
        >
于 2012-11-16T19:06:34.823 に答える