Je veux mettre une mise en page au centre de l'écran.
Cela n'a fonctionné pour moi que lorsque j'ai mis l'attribut Android:layout_centerInParent="true" dans la vue à l'intérieur du RelativeLayout.
Je veux mettre une mise en page au centre de l'écran.
Cela n'a fonctionné pour moi que lorsque j'ai mis l'attribut Android:layout_centerInParent="true" dans la vue à l'intérieur du RelativeLayout.
Que faire si je veux la positionner au centre, mais la 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, et non sur la RelativeLayout
. android:layout_*
affectent la manière dont une vue est positionnée et dimensionnée au sein de son parent, et non la manière dont les enfants d'une vue sont positionnés et dimensionnés au sein de celle-ci.
Vous pouvez appliquer un centrage à n'importe quelle vue, y compris une disposition, en utilisant l'attribut XML Android:layout_gravity". Vous voudrez probablement lui donner la valeur "center".
Vous pouvez trouver une référence des valeurs possibles pour cette option ici : http://developer.Android.com/reference/Android/widget/LinearLayout.LayoutParams.html#attr_android:layout_gravity
A ma connaissance, layout_gravity ne concerne que LinearLayout, et non les mises en page arbitraires.
Comme vous l'avez mentionné, le paramètre layout_gravity n'est valable que pour LinearLayout. Qu'en est-il de RelativeLayout ? Parce que dans mon application, je veux intégrer une vue de texte à ImageView.
<?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 voulez centrer une vue, utilisez celle-ci. Dans ce cas, TextView doit être la vue la plus basse dans votre XML car son 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"
/>
@IgorG. Le positionnement d'une mise en page et d'une vue est le même car une mise en page est un Voir.
Le site Layout
les veuves s'étendent ViewGroup
...Mais ViewGroup
étend la vue. Donc Layout
est un ViewGroup
y ViewGroup
est un View
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.