Подтвердить что ты не робот

Есть ли способы поместить представление немного за пределы его родительского макета?

Это вопрос о макетах Android. Вот то, что я с нетерпением хочу получить:

Layout

Темно-серый - LinearLayout. Оранжевый - это макет X, а затем зеленый - это FrameLayout. Мне нужно поставить Green вне своего родителя - макет X. Описанная иерархия макета не может быть изменена. Единственный вариант - макет X - он может быть любым, что вы хотите.

Любые идеи?

4b9b3361

Ответ 1

Вы не можете поместить Зеленую часть в Макет X, потому что ее нельзя вывести за пределы ее родителей.

Итак, вы должны реализовать RelativeLayout или FrameLayout (корневой макет) в качестве родителей всех этих представлений.

И поставьте зеленый вид в виде childView корневого макета.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_root"
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/layout_dark_grey"
        android:layout_width="100dp"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layout_orange"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_toRightOf="@id/layout_dark_grey"
        android:orientation="vertical" >
    </LinearLayout>

    <RelativeLayout
        android:id="@+id/layout_green"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="300dp" >
    </RelativeLayout>

</RelativeLayout>

Ответ 2

Использование -

android:clipChildren="false"
android:clipToPadding="false"

в каждом родителе вашего дочернего представления, вы помещаете "левое поле" вашего представления отрицательным, что приведет к тому, что ваш ребенок будет выглядеть вне родительского представления и даже не будет обрезать представление.