我实现了如下的GridView:
但是当我旋转手机时,会发生这种情况:
http://dev.thinktravellive.com/
我希望图像保持在纵向模式下的状态。我不希望视图间隔。
网格视图:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f0f0f0"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:columnWidth="170dp"
android:drawSelectorOnTop="true"
android:focusable="true"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="columnWidth" />
</FrameLayout>
网格项:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blue"
android:orientation="vertical">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="200dp" />
</LinearLayout>
我在这里重新调整适配器中的图像大小如下:
holder = new ViewHolder();
holder.image = (ImageView) row.findViewById(R.id.image);
ImageItem item = data.get(position);
holder.image.setImageBitmap(Bitmap.createScaledBitmap(item.getImage(), 180, 200, true));
我还希望图像能够正确地重新调整尺寸而不会出现任何模糊等。
答案 0 :(得分:0)
你已经给了android:columnWidth="170dp"
并且在 griditem.xml 中你已经给出了固定的高度,这就是为什么会发生这种情况。
答案 1 :(得分:0)
使用以下示例自动调整gridview
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
android:numColumns="auto_fit"/>
</FrameLayout>