3

当我layout_marginLeft从代码中使用或设置左边距时,它的工作方式为layout_marginRight. 当我在 Android API < 11 的布局的根 中或根中放置View时,会出现这种行为。layout_marginLeftFrameLayout

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="50dp"
                android:background="#77cc99"
        >
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="50dp"
        android:background="#eebbaa">
        <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Hello World, MyActivity"
                />
        </FrameLayout>

</FrameLayout>
4

1 回答 1

7

默认情况下android:layout_gravity,属性设置为“左” FrameLayout。如果你想使用android:layout_marginLeft你应该改变它:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:layout_marginLeft="50dp"
    android:background="#77cc99"
    android:orientation="vertical" >

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:layout_marginLeft="50dp"
        android:background="#eebbaa" >

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Hello World, MyActivity" />    
    </FrameLayout>
</FrameLayout>
于 2013-02-21T11:05:58.650 回答