Android-макет с перекрывающимися элементами - PullRequest
7 голосов
/ 25 сентября 2011

Возможно ли иметь вид, аналогичный показанному ниже, с двумя пользовательскими видами?

если я собираюсь использовать холст для рисования вещей внутри вида, можно ли будет видеть сквозь второй вид до остальной части первого вида?

layout

Ответы [ 2 ]

11 голосов
/ 25 сентября 2011

За это вы можете взять FrameLayout .

Например - 1:

 <FrameLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView 
        android:src="@drawable/icon"
        android:scaleType="fitCenter"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"/>
    <TextView
        android:text="Learn-Android.com"
        android:textSize="24sp"
        android:textColor="#000000"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:gravity="center"/>
</FrameLayout>

Обновление:

Например - 2: превосходный пример и хитрость, найденные здесь: http://www.curious -creature.org / 2009/03/01 / android-layout-tricks-3-optimize-part-1 /

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 

        android:scaleType="center"
        android:src="@drawable/golden_gate" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dip"
        android:layout_gravity="center_horizontal|bottom"

        android:padding="12dip"

        android:background="#AA000000"
        android:textColor="#ffffffff"

        android:text="Golden Gate" />

</FrameLayout>
0 голосов
/ 25 сентября 2011

Помещение 2 пользовательских видов в относительный макет даст то, что вы показали на изображении.

Да, customview2 будет прозрачным в тех областях, где вы ничего не рисуете. Чтобы избежать этого, вам нужно будет установить фон для этого представления.

...