I'm having an issue with the height for the cells inside the GridView. Each of my cells will have an imageView inside like so:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<GridView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:id="@+id/eventGridView" android:numColumns="2"/>
</LinearLayout>
Here is the ImageView for each cell
<com.example.scheduling_android.view.RoundedCornerImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:maxWidth="150dp"
android:maxHeight="150dp"
xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/eventImageView"
android:adjustViewBounds="false"/>
I was playing around with different image size for my imageView. What I got was that whenever my image becomes larger (say, 400 x 400px) the height of the cell becomes very tall (around double the size of the width, note that I set the grid to use 2 columns). However, when I save my image as a smaller size (say, 160 x 160px), the gridView came out correctly. The height and the width matches.
Here's a screenshot:
What seems to be the problem? Could it be that the large image is causing gridView to calculate the height of its cell incorrectly? What can I do to fix this?
I think you haven't set adjustViewBounds to true. Can you set as follows?
imageView.setAdjustViewBounds(true);
Here i have user 3 column for in each row and it works fine. Gallery view set the column width at run time,
mPhotoGalleryGridView.setColumnWidth(display.getWidth() / 3);
in layout
<GridView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/photogallerygridview"
android:padding="5dp"
android:verticalSpacing="5dp"
android:horizontalSpacing="5dp"
android:stretchMode="columnWidth"
android:numColumns="3"
android:gravity="center">
</GridView>
in adapter: set imageview height and width,
imageview.setMaxHeight(150);
imageview.setMinimumHeight(150);
Hope useful to you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With