Перекрытие просмотров в Android

Возможно ли иметь перекрывающиеся представления в Android? Я хотел бы иметь ImageView с прозрачным png спереди и другим видом в фоновом режиме.

редактировать:

Это то, что у меня есть на данный момент, проблема в том, что изображение в изображенииView не прозрачно, части, которые должны быть прозрачными, просто черные.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/gallerylayout" > <Gallery android:id="@+id/overview" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <ImageView android:id="@+id/navigmaske" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/navigmask" /> </RelativeLayout> 

редактировать:

Я получил его для работы, это был файл темы от другого программиста в команде. Просто изменил это

 <item name="android:background">#FF000000</item> 

к этому

 <item name="android:background">#00000000</item> 

Android обрабатывает прозрачность между представлениями и чертежами (включая изображения PNG) изначально, поэтому сценарий, который вы описываете (частично прозрачный ImageView перед Gallery ), безусловно, возможен.

Если у вас проблемы, это может быть связано либо с макетом, либо с вашим изображением. Я реплицировал макет, который вы описываете, и успешно добился эффекта, которым вы пользуетесь. Вот точный макет, который я использовал.

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gallerylayout" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Gallery android:id="@+id/overview" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <ImageView android:id="@+id/navigmaske" android:background="#0000" android:src="@drawable/navigmask" android:scaleType="fitXY" android:layout_alignTop="@id/overview" android:layout_alignBottom="@id/overview" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </RelativeLayout> 

Обратите внимание, что я изменил родительский RelativeLayout на высоту и ширину fill_parent как обычно, что вы хотите для основной деятельности. Затем я выровнял верх и низ ImageView в верхней и нижней части Gallery чтобы убедиться, что она сосредоточена перед ней.

Я также явно установил, что фон ImageView прозрачен.

Что касается самого изображения, то, если вы помещаете PNG-файл куда-нибудь для просмотра, я могу использовать его в своем проекте и посмотреть, не отвечает ли он.

Кроме того, взгляните на FrameLayout , вот как приложение Camera Gallery использует наложение кнопок Zoom.

Если вы хотите добавить пользовательский экран Overlay в Layout, вы можете создать пользовательский линейный макет и получить контроль над рисованием и ключевыми событиями. Вы можете использовать мой учебник – Overlay on Android Layout – http://prasanta-paul.blogspot.com/2010/08/overlay-on-android-layout.html

Видимая галерея изменяет видимость, так как вы получаете галерею над другим перекрытием вида. В примере с образцом для примера есть несколько хороших примеров этой техники.

Простое арклонирование – поместить марку -40dp в верхнюю часть верхнего изображения

Да, это возможно. Однако задача состоит в том, чтобы правильно выполнить их компоновку. Самый простой способ сделать это – получить AbsoluteLayout, а затем разместить два изображения там, где вы хотите. Вам не нужно делать ничего особенного для прозрачного png, кроме того, что он добавлен позже в макет.