Question

Est-il possible d'avoir des vues qui se chevauchent dans Android? Je voudrais avoir un ImageView avec un png transparent à l'avant et une autre vue en arrière-plan.

edit:

est ce que j'ai en ce moment, le problème est que l'image imageView n'est pas transparent, les parties qui devraient être transparentes sont tout noir.

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

Je l'ai appris à travailler, il était un fichier thème d'un autre programmeur de l'équipe. Juste changé cette

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

à cette

<item name="android:background">#00000000</item>
Était-ce utile?

La solution

Android transparence gère à travers des vues et dessinables (y compris les images PNG) en mode natif, de sorte que le scénario que vous décrivez (un ImageView partiellement transparent devant un Gallery) est certainement possible.

Si vous avez des problèmes, il peut être lié soit à la mise en page ou l'image. J'ai reproduit la mise en page que vous décrivez et réussi à atteindre l'effet que vous êtes après. Voici la disposition exacte je.

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

Notez que j'ai changé la RelativeLayout mère à une hauteur et une largeur de fill_parent comme cela est généralement ce que vous voulez pour une activité principale. Ensuite, je l'ai aligné en haut et en bas du ImageView vers le haut et le bas du Gallery pour assurer qu'il est centré devant elle.

J'ai aussi définir explicitement l'arrière-plan de la ImageView être transparente.

En ce qui concerne l'image elle-même étirables, si vous mettez le fichier PNG quelque part pour moi de regarder je peux l'utiliser dans mon projet et voir si elle est responsable.

Autres conseils

De plus, jetez un oeil à FrameLayout, voilà comment la demande Galerie de l'appareil photo met en œuvre la superposition des boutons Zoom.

Si vous voulez vous ajouter écran de superposition sur la mise en page personnalisée, vous pouvez créer une mise en page personnalisée linéaire et obtenir le contrôle du dessin et des événements clés. Vous pouvez mon tutorial- Overlay sur Android Format- http://prasanta-paul.blogspot.com/2010 /08/overlay-on-android-layout.html

galerie visible visibilité changements qui est la façon dont vous obtenez la galerie sur les autres cours se chevauchent. l'application Accueil de l'échantillon a quelques bons exemples de cette technique.

La façon la plus simple est de mettre autour de la marge -40dp au buttom de la partie supérieure imageview

Oui, cela est possible. Le défi, cependant, est de faire de leur mise en page correctement. La façon de le faire serait plus facile d'avoir un AbsoluteLayout puis mettre les deux images où vous voulez qu'ils soient. Vous n'avez pas besoin de faire quoi que ce soit spécial pour le transparent, sauf .png l'avoir ajouté plus tard à la mise en page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top