Je suis en train de mettre en place une mise en page simple grille qui placera une vignette avec un commentaire ci-dessous dans une colonne 2 et une table de rangée infinie (voir photo ci-dessous)En utilisant GridLayout dans android, comment puis-je le configurer pour que chaque élément que j'ajoute soit placé correctement (nombre illimité)?
Chaque fois qu'une photo est prise il est ajouté à la disposition de la grille, mais tous les paramètres que j'ai essayés me donnent une erreur après la 3ème image ou ne s'affichent pas correctement.
{CODE}
Cette partie de mon code crée une vignette avec la taille d'une image 400400 vient de prendre, puis est ajouté à la vue GridLayout ainsi que les paramètres de GridLayout.
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//setups
setResult(resultCode);
GridLayout templayout = (GridLayout) findViewById(R.id.pictureLayout);
int col = 2;
int row = 2;
templayout.setColumnCount(col);
templayout.setRowCount(row);
String path = tempPicture[4];
ImageView image = new ImageView(this);
Bitmap thumb = createThumbnailFromBitmap(path, 400, 400);
image.setImageBitmap(thumb);
image.setLayoutParams(new android.view.ViewGroup.LayoutParams(400,400));
GridLayout.Spec rowSpan = GridLayout.spec(GridLayout.UNDEFINED, 1);
GridLayout.Spec colSpan = GridLayout.spec(GridLayout.UNDEFINED, 2);
GridLayout.LayoutParams gridParam = new GridLayout.LayoutParams(rowSpan, colSpan);
templayout.addView(image, gridParam);
temp = Integer.valueOf(tempPicture[0]);
image.setId(temp);
image.setTransitionName(path);
image.setOnClickListener(ClickPic(image));
addToTempList(tempPicture);
//This creates a edit text just below the newly created thumbnail
createEditableComment(tempPicture[0], templayout);
}
La méthode createComment, juste est ajouté à la vignette ci-dessous après la création (parfois ci-dessous)
void createEditableComment(String picId, GridLayout belowpic){
EditText comment = new EditText(this);
comment.setTextSize(20);
comment.setId(Integer.valueOf(picId));
comment.setLayoutParams(new android.view.ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
pictureComments.add(comment);
belowpic.addView(comment);
}
Voici mon xml motif valable. Vive
<GridLayout
android:orientation="vertical"
android:id="@+id/pictureLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="2">
</GridLayout>
Vous quesition est pas claire. –