2015-08-09 3 views
5

У меня есть FrameLayout, и для большинства фрагментов патч-палитры хороши. Но у меня есть специальный фрагмент, который не должен содержать отступы.Как убрать родительский элемент в дочернем элементе

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

Любые предложения!

ответ

13

Любопытно, просто используя 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:clipToPadding="false" в исходном макете.

+0

Ошибка: (3) Идентификатор ресурса не найден для атрибута 'margin' в пакете 'android' – Coffeeman

+0

ups, извините, исправил ответ. –

+0

android: layout_margin = "- 10dp" Не работает – Coffeeman

0

Кажется, все было бы проще, если бы вы просто удалить android:padding="10dp" из вашего FrameLayout и в ваших «нормальных» фрагментов вы добавляете 10dp отступы, в то время как в вашем «специальный» фрагменту не добавляйте обивка. Отрицательные поля можно сделать, но, на мой взгляд, следует использовать только в том случае, если нет другого способа сделать это.

+0

Да, это один из способов, но это рутина. Другой способ - это установить программно, когда выбран фрагмент espesial. Но другая рука элегантнее делает это без кода – Coffeeman

Смежные вопросы