Android 线性布局忽略的边距

Android 线性布局忽略的边距,android,layout,android-linearlayout,margin,Android,Layout,Android Linearlayout,Margin,我正在动态创建包含LinearLayout的视图,并将它们添加到外部LinearLayout。我想在创建的视图周围设置一个边距,但是XML文件中的layout\u margin被忽略。如果我在代码中设置参数,它是可以工作的,但是我想在布局XML中指定边距 在XML布局中设置边距将被忽略: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="mat

我正在动态创建包含
LinearLayout
的视图,并将它们添加到外部
LinearLayout
。我想在创建的视图周围设置一个边距,但是XML文件中的
layout\u margin
被忽略。如果我在代码中设置参数,它是可以工作的,但是我想在布局XML中指定边距

在XML布局中设置边距将被忽略:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="20dp"
    android:orientation="vertical" >

    ...
</LinearLayout>
这是外部布局。这些视图将添加到
经销商活动产品列表中



在外部视图中设置
填充
而不是
布局_边距


希望它能起作用

您是为内部线性布局还是包含的线性布局设置属性? 至少,以下内容在线性布局中有效:

<TextView
    android:id="@+id/xxx"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:layout_margin="10dp"
    />

有一种常见的“嵌套布局”模式。 也就是说,您可以创建一个辅助容器布局,并在容器布局中定位内部布局以达到所需的效果

有点:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        ...
        android:layout_margin="20dp"
        >
    ...
    </LinearLayout>
</LinearLayout>

...

您是否尝试过使用层次结构查看器?或者尝试将视图转储到uiautomator?使用这些工具,您可以检查布局。你能发布你正在使用的完整代码吗?你能发布更多代码吗?像完整的XML?我想你把边距设置错了我用HierachyViewer检查了布局。虽然在代码中设置边距反映在布局的属性中,但我找不到在XML文件中设置的值。我将外部布局添加到问题中…我遇到了相同的问题,如果我在布局外部添加一个父线性布局,并且在XML文件中添加边距,它就会工作。Eclipse声称额外的线性布局是无用的,但它可以工作。这将在外部视图中包含的所有视图周围设置一个空格,但不会在包含的视图之间设置空格。我确信作者为外部布局设置了边距。xmlns属性仅适用于根元素我正在为另一个
LinearLayout
包含的
LinearLayout
设置属性。您是通过编程方式将一个布局还是两个嵌套布局添加到外部布局?我的意思是,我可以相信,对于作为XML根的布局,
android:layout\u margin
会被忽略,但我不希望
android:layout\u margin
对内部布局正常工作(请检查它在您的环境中是否正常工作),除非此内部布局的父级以编程方式添加到其父级。
<TextView
    android:id="@+id/xxx"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:layout_margin="10dp"
    />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        ...
        android:layout_margin="20dp"
        >
    ...
    </LinearLayout>
</LinearLayout>