Domanda

È possibile avere visualizzazioni sovrapposte in Android?Mi piacerebbe avere un ImageView con un png trasparente nella parte anteriore e un'altra vista sullo sfondo.

modificare:

Questo è quello che ho in questo momento, il problema è che l'immagine in imageView non è trasparente, le parti che dovrebbero essere trasparenti sono solo nere.

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

modificare:

L'ho fatto funzionare, era un file del tema di un altro programmatore del team.Ho appena cambiato questo

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

a questa

<item name="android:background">#00000000</item>
È stato utile?

Soluzione

Android gestisce la trasparenza tra visualizzazioni e drawable (comprese le immagini PNG) in modo nativo, quindi lo scenario che descrivi (un file parzialmente trasparente ImageView davanti ad a Gallery) è certamente possibile.

Se riscontri problemi, potrebbe essere correlato al layout o all'immagine.Ho replicato il layout che descrivi e ho ottenuto con successo l'effetto che stai cercando.Ecco il layout esatto che ho usato.

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

Tieni presente che ho cambiato il genitore RelativeLayout ad un'altezza e larghezza di fill_parent come generalmente è ciò che desideri per un'attività principale.Quindi ho allineato la parte superiore e inferiore del ImageView nella parte superiore e inferiore del Gallery per assicurarsi che sia centrato davanti ad esso.

Ho anche impostato esplicitamente lo sfondo del file ImageView essere trasparente.

Per quanto riguarda l'immagine disegnabile stessa, se metti il ​​file PNG da qualche parte affinché io possa guardarlo, posso usarlo nel mio progetto e vedere se è responsabile.

Altri suggerimenti

Inoltre, dai un'occhiata FrameLayout, ecco come l'applicazione Galleria della fotocamera implementa la sovrapposizione dei pulsanti Zoom.

Se desideri aggiungere la tua schermata di sovrapposizione personalizzata sul layout, puoi creare un layout lineare personalizzato e ottenere il controllo del disegno e degli eventi chiave.Puoi il mio tutorial - Overlay su Android Layout-http://prasanta-paul.blogspot.com/2010/08/overlay-on-android-layout.html

La galleria visibile modifica la visibilità, ovvero il modo in cui ottieni la galleria rispetto ad altre visualizzazioni sovrapposte.l'app Home sample contiene alcuni buoni esempi di questa tecnica.

Il modo più semplice è inserire un margine di -40 dp nella parte inferiore della visualizzazione dell'immagine superiore

Sì, è possibile.La sfida, tuttavia, è realizzare il loro layout correttamente.Il modo più semplice per farlo sarebbe avere un AbsoluteLayout e quindi mettere le due immagini dove vuoi che siano.Non è necessario fare nulla di speciale per il png trasparente se non aggiungerlo successivamente al layout.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top