GridView ne se comporte pas comme si c'était censé. Ceci Capture d'écran montre que la grille (en mode paysage) est rinçue à gauche. Je le veux centré.
Ceci est la disposition XML pour la grilleView. P>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/templatelandscape" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <GridView android:id="@+id/commandsbarlandscape" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:layout_alignParentTop="true" android:layout_centerInParent="true" android:padding="0dp" android:verticalSpacing="2dp" android:horizontalSpacing="2dp" android:numColumns="auto_fit" android:columnWidth="52dp" android:stretchMode="spacingWidth" android:gravity="fill_horizontal" /> </LinearLayout>
7 Réponses :
Débarrassez-vous de votre android: layout_height = "wrap_content" code> n'a aucune signification pour les widgets qui ont leur propre défilement, comme
gridview code>. p> Li>.
android: layout_alignparenttop = "vrai" code> et
android: layout_centerinparent = "true" code> est destiné à
relativelayout code>, pas
Linearlayout code>. P> li>
ol>
Android: layout_weight = "1.0" code>, modifiez votre
Android: layout_height code> à
"Fill_Parent" CODE> ou une hauteur spécifique, Modifiez le
linearlayout code> à un
relativelayoutout code>, et vous pouvez être en meilleure forme. p>
Essayez de passer à la relativation et retirez le rembourrage horizontal de la vue de la grille. Le rembourrage horizontal causait ma grille se déplaçant du centre. J'ai ajouté un conteneur de vue autour de la disposition de la grille pour créer le rembourrage. P>
Définissez la valeur de linearlayout avec l'attribut suivant
et retirez la ligne suivante de GridView P> Android: Gravity = "Centre" code>. p>
android:layout_centerInParent="true"
Votre gridlayout doit être comme ça ..
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/templatelandscape" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> <GridView android:id="@+id/commandsbarlandscape" android:background="@android:color/darker_gray" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_weight="1.0" android:verticalSpacing="2dp" android:horizontalSpacing="2dp" android:numColumns="auto_fit" android:columnWidth="52dp" android:stretchMode="none" android:gravity="fill_horizontal" /> </LinearLayout>
Vous pouvez également utiliser RelativenellementAjouter, c'est plutôt bon, mais cela n'a pas d'importance pour votre problème ..
Je ne sais pas si vous avez résolu votre problème (j'espère oui, et je suis aussi très tard pour répondre à ce post!), mais voici une indice:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mainLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <GridView android:id="@+id/gridview2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:columnWidth="90dp" android:numColumns="auto_fit" android:stretchMode="spacingWidth" > </GridView> </LinearLayout>
au lieu de régler la grille dans le linearlayout, réglez-le dans le RelativitAnout B> et Définissez le layout_centerhorizontal = true b> et layout_cénétorvertical = true b> dans la grille. p>
La meilleure solution que j'ai trouvée fait cela par code.
Ceci est mon XML P> p> et c'est le code qui fait la magie de mon fragment: p>
monsieur quelle est la classe commune?
Vous avez besoin de grille de grille pour être centrée ou ses articles ???
Je veux que la grille soit centrée dans son parent. Pas les articles.