/ / Android GridView Posiziona metà oggetti a sinistra e metà a destra - java, android, gridview

Android GridView Posiziona metà elementi a sinistra e metà a destra - java, android, gridview

Supponiamo di avere 6 oggetti, c'è qualche possibilità o modo di posizionare 3 oggetti sul lato sinistro della fila e 3 oggetti sul lato destro della fila in vista griglia e alla fine abbiamo uno spazio tra di loro.

In realtà ho provato a dare una spaziatura orizzontale dinamica dopo l'adattatore, ma non mi ha aiutato. L'immagine è allegata

inserisci la descrizione dell'immagine qui

    package com.nxd.cap.Adapters;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;

import com.nxd.cap.R;

import java.util.ArrayList;

public class GalleryAdapter extends BaseAdapter {

Context context;
int[] images = new int[]{R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4,
R.drawable.image5, R.drawable.image6, R.drawable.image7, R.drawable.image8,
R.drawable.image1, R.drawable.image2};

public GalleryAdapter(Context context) {
this.context = context;
}

@Override
public int getCount() {
return images.length;
}

@Override
public Object getItem(int i) {
return images[i];
}

@Override
public long getItemId(int i) {
return i;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (view == null){
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.gallery_item, null);

ViewHolder viewHolder = new ViewHolder();
viewHolder.imageView = (ImageView)view.findViewById(R.id.imageView);
view.setTag(viewHolder);
}
ViewHolder viewHolder = (ViewHolder) view.getTag();
//        Picasso.with(context).load(images[i]).into(viewHolder.image);

GridView gridView = (GridView)viewGroup;
if (i == images.length/2) {
gridView.setHorizontalSpacing(100);
}

viewHolder.imageView.setImageResource(images[i]);

return view;
}

static class ViewHolder {
ImageView imageView;
}
}

risposte:

0 per risposta № 1

quando hai usato gridView puoi impostare il numero di colonne. se hai bisogno solo di due colonne a sinistra e a destra impostate sotto il codice.

   gridView.setNumColumns(2);