Non è possibile inserire la parte Verde in Layout X, perché non può essere disegnata all'esterno dei suoi genitori.
Pertanto, è necessario implementare RelativeLayout o FrameLayout (layout radice) come genitori di tutte queste viste.
E Metti la vista verde come childView del layout di root.
<?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>
fonte
2012-05-03 13:48:09
Odio dirlo, ma l'unico modo in cui riesco a pensare è usare un FrameLayout per avvolgere tutto, avere il grigio scuro e l'arancione in un layout lineare e quindi sovrapporre il layout verde agli altri. Che è in conflitto con il tuo "La gerarchia del layout descritta non può essere modificata". Solo per curiosità, perché non è possibile? – Barak
Penso che sia possibile specificare valori negativi per i margini. Hai provato? Penso che funzioni per i layout in cui è possibile sovrapporre (ad esempio due oggetti su una tela). Non sono vicino a nessun editor, altrimenti lo proverei anch'io. So per certo che puoi sovrapporsi se l'intero layout è una tela, ma non sono sicuro della tua situazione. – Gophermofur
@Barak: Fondamentalmente è una tabella (la riga della tabella è sull'immagine) e in alcune circostanze ho bisogno di spostare una singola cella al di fuori della sua posizione normale, quindi i layout Table/TableRow sono l'unico che posso usare. – agibalov