Перекрывающиеся виды В Android
возможно ли иметь перекрывающиеся виды В Android? Я хотел бы иметь ImageView с прозрачным png спереди и другим видом в фоновом режиме.
edit:
Это то, что у меня есть на данный момент, проблема в том, что изображение в imageView не прозрачно, части, которые должны быть прозрачными, просто черные.
<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>
edit:
я получил его на работу, это был файл темы от другого программиста в команде. Просто изменил это
<item name="android:background">#FF000000</item>
этой
<item name="android:background">#00000000</item>
6 ответов:
Android обрабатывает прозрачность между видами и чертежами (включая изображения PNG) изначально, поэтому сценарий, который вы описываете (частично прозрачный
ImageView
перед aGallery
) это, конечно, возможно.если у вас возникли проблемы, это может быть связано с макета или изображения. Я скопировал макет, который вы описываете, и успешно достиг эффекта, который вы ищете. Вот точный макет, который я использовал.
<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
должна быть прозрачной.Что касается самого изображения drawable, если вы поместите файл PNG где-нибудь для меня, чтобы посмотреть, я могу использовать его в своем проекте и посмотреть, несет ли он ответственность.
кроме того, взгляните на
FrameLayout
, вот как приложение галереи камеры реализует наложение кнопок масштабирования.
Если вы хотите добавить пользовательский экран наложения на макет, вы можете создать пользовательский линейный макет и получить контроль над чертежом и ключевыми событиями. Вы можете мой учебник - наложение на Android макет - http://prasanta-paul.blogspot.com/2010/08/overlay-on-android-layout.html
видимая галерея изменяет видимость, которая является тем, как вы получаете галерею над другим видом перекрытия. в приложении Home sample есть несколько хороших примеров этой техники.
Да, это возможно. Задача, однако, состоит в том, чтобы сделать их макет должным образом. Самый простой способ сделать это-иметь AbsoluteLayout, а затем поместить два изображения туда, где вы хотите их видеть. Вам не нужно делать ничего особенного для прозрачного png, кроме того, что он будет добавлен позже в макет.