Frage

Ist es möglich, überlappende Ansichten in Android zu haben? Ich möchte in der Front eine Image mit einem transparenten PNG haben und einem anderen Ansicht im Hintergrund.

edit:

Dies ist, was ich im Moment haben, das Problem ist, dass das Bild in der Imageview nicht transparent ist, die Teile, die transparent sein sollten, sind nur schwarz.

<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:

Ich habe es zu arbeiten, war es eine Design-Datei von einem anderen Programmierer im Team. Nur soviel geändert

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

auf diese

<item name="android:background">#00000000</item>
War es hilfreich?

Lösung

Android Griffe Transparenz über Ansichten und Drawables (einschließlich PNG-Bilder) nativ, so das Szenario, das Sie beschreiben (ein teilweise transparent ImageView vor einem Gallery) ist sicherlich möglich.

Wenn Sie Probleme haben es in Beziehung gesetzt werden kann entweder an das Layout oder das Bild. Ich habe das Layout, das Sie beschreiben repliziert und erfolgreich erreicht die Wirkung Sie nach. Hier ist das genaue Layout I verwendet wird.

<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>

Beachten Sie, dass ich das übergeordnete RelativeLayout zu einer Höhe und Breite von fill_parent geändert haben, wie allgemein ist, was Sie für eine Hauptaktivität möchten. Dann habe ich die Ober- und Unterseite des ImageView an der Ober- und Unterseite des Gallery ausgerichtet es zentriert vor ihm zu gewährleisten.

Ich habe auch explizit den Hintergrund der ImageView transparent sein.

Wie für das Bild drawable selbst, wenn Sie die PNG-Datei irgendwo setzen für mich zu sehen ich es in meinem Projekt verwenden kann und sehen, ob es verantwortlich ist.

Andere Tipps

Werfen Sie auch einen Blick auf FrameLayout, das ist, wie die Galerie-Anwendung Kamera, um die Zoom-Tasten Overlay implementiert.

Wenn Sie Sie benutzerdefinierte Overlay-Bildschirm auf Layout hinzufügen möchten, können Sie eine benutzerdefinierte Linear-Layout erstellen und Kontrolle der Zeichnung und Schlüsselereignisse erhalten. Sie können meine tutorial- Overlay auf Android Layout- http://prasanta-paul.blogspot.com/2010 /08/overlay-on-android-layout.html

Visible Galerie Änderungen Sichtbarkeit, die ist, wie Sie die Galerie über andere Ansicht Überlappung erhalten. die Home-Beispielanwendung einige gute Beispiele für diese Technik hat.

Der einfachste Weg ist, um -40dp Marge am Buttom des oberen Imageview

setzen

Ja, das ist möglich. Die Herausforderung ist jedoch ihr Layout richtig zu machen. Der einfachste Weg, es zu tun wäre eine AbsoluteLayout haben und dann die beiden Bilder setzen, wo Sie sie haben wollen. Sie brauchen nichts Besonderes für die transparente png zu tun, außer mit später in das Layout eingefügt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top