Je souhaite placer une mise en page au centre de l'écran.Comment centrer une vue dans une mise en page Android?
Répondre
Vous pouvez appliquer un centrage à toute vue, y compris une mise en page, en utilisant l'attribut XML android. Layout_gravity ». Vous voulez sans doute donner la valeur « centre »
Vous pouvez trouver une référence possible valeurs pour cette option ici: http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#attr_android:layout_gravity
Étape # 1: Wrap tout ce que vous voulez centré sur l'écran dans un mode plein écran RelativeLayout
Étape # 2:. Donnez ce point de vue de l'enfant (celui qui vous voulez centré dans le RelativeLayout
) le android:layout_centerInParent="true"
attribut.
Cela a seulement fonctionné pour moi quand j'ai mis l'attribut android: layout_centerInParent = "true" dans la vue dans le RelativeLayout. –
Et si je veux le positionner au centre, mais le déplacer vers le bas s'il y a un risque de chevauchement avec une autre vue? –
Vous devez mettre 'android: layout_centerInParent =" true "' sur la vue enfant, pas sur 'RelativeLayout'. Les attributs 'android: layout_ *' affectent la position et la taille d'une vue dans son parent, et non le positionnement et la taille des enfants d'une vue. – Karu
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<ProgressBar
android:id="@+id/ProgressBar01"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_height="wrap_content"></ProgressBar>
<TextView
android:layout_below="@id/ProgressBar01"
android:text="@string/please_wait_authenticating"
android:id="@+id/txtText"
android:paddingTop="30px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
</RelativeLayout>
Si vous souhaitez centrer une vue, utilisez celle-ci. Dans ce cas, TextView doit être l'affichage le plus bas de votre fichier XML, car layout_height est match_parent.
<TextView
android:id="@+id/tv_to_be_centered"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:gravity="center"
android:text="Some text"
/>
Il voulait dire mise en page au centre, pas de vue. –
@IgorG. le positionnement d'une mise en page et d'une vue sont les mêmes, car une mise en page * est une vue *. – FoamyGuy
@Tim J'ai pensé qu'une mise en page ressemblait plus à un ViewGroup qu'à une View ... –
Ajouter android: layout_centerInParent = "true" à l'élément que vous souhaitez centrer dans le RelativeLayout
Il travaillera pour ce code doivent parfois deux propriétés
android:layout_gravity="center"
android:layout_centerHorizontal="true"
Mise à jour Réponse: Constraint Layout
Il semble que la tendance dans Android est maintenant d'utiliser une mise en page contrainte. Bien qu'il soit assez simple de centrer une vue en utilisant un RelativeLayout
(comme d'autres réponses l'ont montré), le ConstraintLayout
est plus puissant que le RelativeLayout
pour les mises en page plus complexes. Donc, il vaut la peine d'apprendre comment faire maintenant.
Pour centrer une vue, faites simplement glisser les poignées vers les quatre côtés du parent.
- 1. Android, ajouter une nouvelle vue sans XML Mise en page
- 2. Plusieurs listes extensibles Android dans une mise en page
- 3. Comment enregistrer une mise en page Tlistview
- 4. Mise en page Android centrée dans RelativeLayout pour custom ListView
- 5. Comment définir la largeur d'une mise en page dans Android?
- 6. Problème de mise en page Android ScrollView
- 7. Android - comment placer une image par-dessus ma mise en page existante à l'aide du code?
- 8. CSS - Centrer une page - puis faire la page 100% hauteur
- 9. Centrer une étiquette dans un UIView
- 10. Centrer une fenêtre graphique javascript
- 11. Android: gestionnaires d'événements pour une vue personnalisée? (RÉVISÉE QUESTION)
- 12. Mise en page Dojo/Dijit - essayé d'ajouter une bannière en haut d'une mise en page existante
- 13. Problème de mise en page pour l'affichage d'image Android
- 14. Centrer sur une Div
- 15. Centrer complètement une image?
- 16. Mise en page Android - problème d'alignement avec ImageView
- 17. Pourquoi ne puis-je pas centrer une image sur une page pour l'imprimer dans VB.NET?
- 18. Centrer un problème de page
- 19. Comment ouvrir une nouvelle vue en touchant une vue?
- 20. comment ajouter une page code-behind à une vue ou à une vue partielle
- 21. Comment mettre en page une page iPhone
- 22. images faisant Centrer horizontalement dans une couche
- 23. Howto Désactiver la mise en cache dans une page jsp
- 24. Comment centrer une application WPF à l'écran?
- 25. Android: Actions multiples sur une vue de liste - Problème de mise au point
- 26. Comment transformer un NSMutableData en une image dans une vue?
- 27. Centrer une image dans un élément d'ancrage
- 28. vue Explorer sur une page non-SharePoint
- 29. mise en cache des données WebView (Android)
- 30. Comment travailler avec une image en utilisant l'URL dans Android?
AFAIK, layout_gravity est seulement pour LinearLayout, et non pour des dispositions arbitraires. – CommonsWare
Comme vous l'avez mentionné layout_gravity est seulement pour LinearLayout Qu'en est-il de RelativeLayout parce que dans l'application je veux incorporer textview sur ImageView – Vicky
je l'ai essayé aussi avec relativelayout et à mon avis cela fonctionne – ludwigm