android developer
android developer

Reputation: 1253

How to reduce vertical space in gridview in android

I am able to manage the horizontal space between images in a grid view. But how to reduce vertical space between images in a grid view.

Following is my code:

<LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:layout_margin="5dp">

    <GridView
        android:id="@+id/gridView1" 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:padding="0dp"
        android:verticalSpacing="5dp" 
        android:horizontalSpacing="5dp"
        android:scrollingCache="true" 
        android:smoothScrollbar="true"
        android:clipChildren="true" 
        android:alwaysDrawnWithCache="true"
        android:numColumns="auto_fit"
        android:columnWidth="70dp">
    </GridView>
</LinearLayout>

getView method

    //---returns an ImageView view---
    public View getView(int position, View convertView, ViewGroup parent)
    {
        ImageView imageView = null;

        if (convertView == null) {
            imageView = new ImageView(context);
            imageView.setLayoutParams(new GridView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

            imageView.setTag(position);


        } else {
            imageView = (ImageView) convertView;
        }

        if((Integer)imageView.getTag() == 0) {

            Bitmap bitmap = Bitmap.createScaledBitmap(imgPic.get(position).getBitmap(), 250, 200, false);
            imageView.setImageBitmap(bitmap);
        }else {
            FileInputStream fs = null;
            //Bitmap bm;
            try {

                fs = new FileInputStream(new File(imgPic.get(position).getFilePath().toString()));

                if(fs!=null) {
                    //to get the thumbnail view of the image

                    Bitmap scaledBitmap = decodeFile(imgPic.get(position).getFilePath().toString(), 250, 200);

                    imageView.setImageBitmap(scaledBitmap);
                    imageView.setId(position);

                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally{
                if(fs!=null) {
                    try {
                        fs.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }

        return imageView;
    }

decodeFile is a function to resize the image

enter image description here

Upvotes: 1

Views: 891

Answers (1)

Lia Pronina
Lia Pronina

Reputation: 756

You use the attribute android:horizontalSpacing="5dp", decreased its value.

Upvotes: 3

Related Questions