Android:Gridview单元格大小不一致

时间:2013-10-07 16:04:43

标签: android android-layout android-gridview

我希望实现类似enter image description here

的目标

但我通过调整layout_width,图像视图的高度尝试了几种方法,它仍然给出了不一致的单元格大小enter image description here

这是我的代码:

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".STA" >

<android.support.v4.view.PagerTitleStrip
    android:id="@+id/pager_title_strip"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:background="#33b5e5"
    android:paddingBottom="4dp"
    android:paddingTop="4dp"
    android:textColor="#fff" />
</android.support.v4.view.ViewPager>

main activity.xml

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/photogridview"
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    android:columnWidth="90dp"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:stretchMode="columnWidth"
    android:gravity="center"></GridView>

fragment_st_dummy.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
    android:id="@+id/imgv1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scaleType="fitXY" />

<TextView
    android:id="@+id/txtv1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
 </LinearLayout>

customitemview.xml

我的问题是:

  1. 如果我想为描述面板设置修复高度,那就是它 可能的?
  2. 通过固定图像大小来实现gridview单元大小一致性是最佳做法吗?

1 个答案:

答案 0 :(得分:1)

不幸的是,这是GridView的一个问题。如果项目大小不同,您将遇到问题。简单的解决方案是使它们都具有固定的尺寸。您可以查看StaggeredGridView。有一个视图的开源实现,但我没有尝试任何自己,所以我不能评论它们。