J'ai un fragment avec cette mise en page:
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:id="@+id/toolbar"/> <FrameLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:id="@+id/frame_layout"> </FrameLayout> </LinearLayout>
Dans l'aperçu d'Android Studio, je vois ceci:
Ce qui est bien, mais sur l'émulateur ou sur un appareil réel, je vois:
Que me manque-t-il? Comment centrer ce texte dans le parent?
La mise en page parent est le FrameLayout
:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="My Fragment" android:textSize="30sp" android:layout_centerInParent="true"/> </RelativeLayout>
3 Réponses :
Essayez d'ajouter ces propriétés:
android:layout_centerHorizontal="true" android:layout_centerVertical="true"
Merci mais j'ai le même comportement.
Cela ne fonctionnera pas car dans ce code, FrameLayout
est android: layout_width = "wrap_content"
. Vérifiez la réponse @Nilesh Rathod - c'est une bonne réponse
La disposition parentale n'a pas été ajoutée lorsque j'ai répondu à la question. @TamirAbutbul
Eh bien, que je ne savais pas
Vous devez changer la largeur de votre Changez la largeur de votre EXEMPLE DE CODE FrameLayout
final FrameLayout
en android: layout_width = "match_parent"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:id="@+id/toolbar"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frame_layout">
</FrameLayout>
</LinearLayout>
Jamais pensé à la mise en page parent. match_parent
a fait l'affaire. Merci beaucoup!
Il y a une erreur dans votre disposition du cadre . Parcourez sa documentation pour lire les détails.
Corrigez la disposition du cadre dans le contenu XML parent:
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/frame_layout"/>
poster le fichier xml du parent également.
D'accord avec @RumitPatel. Essayez de vérifier si la balise parent a également android: layout_width = "match_parent"
poste xml complet.
Remplacez FrameLayout android: layout_width = "wrap_content" par android: layout_width = "match_parent"
Réglez simplement
android: layout_width = "match_parent"
sur fragmeLayout. et vous êtes prêt.