GridLayout (pas GridView) - Espaces entre les cellules
Je suis en utilisant GridLayout
(support) pour l'affichage de ImageView
s dans mon application. Il y a 3 colonnes et 5 lignes. Le problème est que les cellules de la GridLayout
d'obtenir automatiquement un espace entre eux. Je ne suis pas le réglage de tout rembourrage ou de la marge pour les cellules. Veuillez vous référer à l'image ci-dessous. Toutes les cellules sont ajoutées dynamiquement et voici comment je l'ajout de ces cellules.
Obtenir la Largeur de l'Écran et de la Hauteur:
Point size = new Point();
getWindowManager().getDefaultDisplay().getSize(size);
screenWidth = size.x;
screenHeight = size.y;
rowHeight = (int) (screenHeight * 0.2);
L'ajout de Vue de GridLayout:
GridLayout.LayoutParams params = new GridLayout.LayoutParams(
getSpec(rowColumn[0]), getSpec(rowColumn[1]));
params.height = rowHeight;
if (rowColumn[1].equalsIgnoreCase("col_full")) {
params.width = (int) (screenWidth);
} else if (rowColumn[1].equalsIgnoreCase("col_two_part")) {
params.width = (int) (screenWidth * 0.6);
} else {
params.width = (int) (screenWidth * 0.3);
}
ImageButton image = (ImageButton) imageHashMap
.get(reOrderedButtonsListCopy.get(i));
image.setLayoutParams(params);
gridLayout.addView(image, params);
XML Mise en page:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.xx.xxx"
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<android.support.v7.widget.GridLayout
xmlns:app="http://schemas.android.com/apk/res/com.xx.xxx"
android:id="@+id/gridlayout_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="2dp"
app:columnCount="3"
app:rowCount="5" >
</android.support.v7.widget.GridLayout>
</LinearLayout>
</ScrollView>
Résultat courant:
Les lignes rouges montrent les espaces entre les cellules. Aussi, il ya de l'espace sur le côté gauche de GridLayout. J'ai seulement donné 2dp
comme layout_margin
. Toutes les raisons pour lesquelles ce remplissage se produit?
[MODIFIER]
D'apporter les modifications suivantes supprimé les espacements.
gridLayout = (GridLayout) findViewById(R.id.gridlayout_main);
gridLayout.setUseDefaultMargins(false);
gridLayout.setAlignmentMode(GridLayout.ALIGN_BOUNDS);
gridLayout.setRowOrderPreserved(false);
Reportez-vous à l'image ci-dessous.
source d'informationauteur Vamsi Challa
Vous devez vous connecter pour publier un commentaire.
Trouvé la solution.
D'apporter les modifications suivantes supprimé les espacements.
Reportez-vous à l'image ci-dessous.