如何解除children元素中的父填充

时间:2015-08-09 17:41:35

标签: android android-layout

我有 FrameLayout ,对于大多数片段,parrent padding是好的。但我有特殊的片段,不得包含填充。

<FrameLayout
    android:id="@+id/frame_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    />

<!-- My especial fragment -->
<LiearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="-10dp"
/>

任何建议!

2 个答案:

答案 0 :(得分:21)

好奇,只是使用layout_margin似乎不起作用。然而,

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:padding="10dp"
         android:clipToPadding="false">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="-10dp"
        android:layout_marginStart="-10dp"
        android:layout_marginEnd="-10dp"
        android:layout_marginBottom="-10dp" />
</FrameLayout>

似乎有用(IntelliJ android预览版)。

请勿忘记: android:clipToPadding="false"在父布局中。

答案 1 :(得分:1)

如果您只是从FrameLayout中移除android:padding="10dp"并在&#34;普通&#34; 片段中添加10dp填充,那么事情就会变得更容易了你的&#34;特殊&#34; 片段,你不添加任何填充。可以做到负边距,但我认为只有在没有其他方法的情况下才能使用。