Перекрывающиеся виды В 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, кроме того, что он будет добавлен позже в макет.