Vues dans Android Chevauchement des
-
12-09-2019 - |
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>
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.