8
votes

Android - Disposition linéaire PAIRTOTOFRONT ()

J'ai 4 boutons dans ma disposition linéaire et j'ai besoin d'apporter au premier bouton avant.

ordre normal est xxx

mais quand j'appelle bouton1.bringtofront () fonction, bouton1 va fin comme xxx

Comment puis-je résoudre ce problème. La mise en page relative ne provoque pas ce problème, mais je dois utiliser linearlayout car les boutons commanderont verticalement et je supprimons un bouton dans certaines conditions.

merci < / p>


1 commentaires

Quelle sortie que vous recherchez?


4 Réponses :


10
votes

linearlayout ne fonctionne pas avec l'axe z, par conséquent, son nom linéaire . Essayez d'utiliser un relativenelayout , puis appelez radottofront () pour obtenir l'effet souhaité. Avec un relativenelayout , vous pouvez appeler Layout_alignbollow pour commander les vues verticalement. Ou vous pouvez nier des vues et des mises en page, par exemple, dans votre linearlayout Nest trois relativelayout dans ceux que vous pouvez placer vos touches (soyez prudent avec ceci approche d'ajouter trop de points de vue peut être une mauvaise chose).


2 commentaires

Qu'est-ce que layout_alignbollow?


J'ai eu une rangée de boutons qui se chevauchent. Votre pointe d'utilisation d'une relativation au lieu d'un linearlayout a fonctionné pour moi (en combinaison avec demande demandeurlayout () et invalidez () sur ce relativation (c'est le parent des boutons qui se chevauchent).



0
votes

Faites de votre présentation Appelez le FORCELAYOUT () Pour désactiver la ré-arrangement de la mise en page.


1 commentaires

peux-tu élaborer?



0
votes

Etant donné que CAKETTOFRONT est en train de gâcher la commande linearlayout , j'ai décidé d'utiliser un relativenelayout et mettre la vue "supérieure" (la vue que je veux sur le dessus) en dernier dans le XML.

Exemple: xxx

dans le cas spécifique de cette question, le Viewontop serait le bouton 1 , et le viewbelow serait un linearlayout contenant les autres boutons.


0 commentaires

1
votes

Si vous devez travailler avec Z-Axis dans un linearlayout, vous pouvez utiliser la fonction SetTranslationz.

Exemple: P>

yourView.setTranslationZ(100);


0 commentaires