est-il possible de montrer la première vue dans une linearlayout qui se chevauchent la seconde?
Je voudrais mettre en place mes points de vue comme: p> mais j'ai besoin de mon Première vue de la mise en page, FirstTextview, à placer sur (chevauchement) SonnecTextView. Est-ce possible? J'utilise le linearlayout parce que je joue aussi avec les marges pour obtenir un effet chevauchant. P> p>
5 Réponses :
ou vous pouvez coller avec une mise en page linéaire, mais placez une relativation en elle, en tant qu'enfant. Vous pouvez également placer vos visites textuelles avec le relativationAnchyout, de sorte qu'ils iront des propriétés inhiberet de relativelayoutout. Vous pouvez toujours utiliser votre linearlayout pour d'autres vues. http://developer.android.com/reference/andrroid/widget/relatelayAYout.html p>
Si tout ce que vous voulez, c'est de chevaucher les deux vues verticalement, utilisez ce XML: p> p>
Et la première vue est toujours en dessous de la seconde!
Je n'ai pas besoin de code Java pour savoir que la deuxième vue sera superposée sur la première vue. J'utilise simplement une licence de base.
N'hésitez pas à changer d'arrière-plan à la couleur que vous voulez si la transparence n'est pas souhaitée. Les deux premiers chiffres concernent l'alpha et l'autre sont le RRGGBB.
Oui, mais pouvez-vous voir que si vous modifiez la couleur de fond, la deuxième vue code> est en haut de la première. Si vous avez effectué la première vue code> code> 'S "# DDAA00" et la seconde référence code> "SECK" # 3300DD ", le bleu recouvrira le jaune. J'ai besoin du jaune au sommet du bleu.
La confusion a commencé à partir de l'utilisation de "sur le dessus" au lieu de "devant". Dans le monde Android, "sur le dessus" fait référence au placement vertical d'une vue sur une autre. Malheureusement, l'axe z ne fonctionne pas dans linearlayout code>, vous utilisez donc
relativenelayout code> ou
framelayout code> pour cela. Une solution de contournement serait d'inverser les vues et la marge-poussez la seconde avec suffisamment
DP code> S pour ressembler à ce qu'il est le premier tout en restant en avant.
D'accord. Et ce sera impossible pour moi, puisque l'autre vue est basée sur wrap_content code>. Ce genre de suce. J'ai vraiment besoin du
linearlayout.layoutparams code>. Désolé pour la confusion.
Qu'est-ce qui a fonctionné pour moi et va probablement travailler pour vous est que:
de sorte que la mise en page peut être quelque chose comme ceci: p> et: p>
Vous n'avez pas besoin de ClipChildren. Si les deux vues sont dans la même mise en page, elles peuvent se chevaucher. Dans une présentation relative, cela se fait tout le temps. ClipChildren est pour laisser les choses être dessinées à l'extérieur de la mise en page parent parent. Le CAILTTOFRONT n'est pas non plus nécessaire, l'ordre Z est contrôlé par l'ordre dans le fichier que les vues sont définies.
En attribuant une valeur de marge "<0", nous pouvons chevaucher les vues. Mais la mise en page relative est préférable lorsque nous avons besoin d'une vue de chevauchement. P>
Je sais que c'est une vieille question, mais au cas où n'importe qui la recherche de nouveau comme j'étais aujourd'hui - j'ai une mise en page de manière dynamique, donc je n'ai pas vraiment de xml spécifique plutôt une vue séparée que je veux ajouter à l'ONUTOP de ma pile en fonction de certains paramètres; Le commentaire de @gabesechan laissez-moi dans la bonne direction, j'ai utilisé la marge -Bottom pour apporter la deuxième vue, insérée la nouvelle vue à la position 0
Pourquoi voulez-vous qu'il placer en haut? Vous voulez dire directement à votre
secondtextview code>?
@codemagic je le plate sur le dessus car "je joue aussi avec les marges pour obtenir un effet qui se chevauche"
Vous voulez donc que la deuxième vue soit sous et à droite de la première vue?
@Voicu exactement! :) Sauf que j'utilise également les autres propriétés Lienarlayout, je préférerais donc ne pas utiliser un autre système de mise en page.
J'ai vu ça, mais pourquoi ne pas utiliser
relativenelayout code> alors? Par défaut, les deux seront en haut à gauche, alors vous pouvez jouer avec
margins code> à partir de là, si je vous comprends correctement
@Codemagic C'est parce que j'utilise certains paramètres de mise en page linéarlayout.
@Voiicu Comment est-ce une perte de temps? Avez-vous même essayé cela? Si je chevauche les deux vues, la deuxième vue sera au-dessus du premier. Essayez-le vous-même, d'abord.
@Voiicu j'ai besoin des arrière-plans pour être coloré, alors ils ne peuvent pas être transparents ..