笔者见过相当多的帖子介绍了HorizontalGridView的实现方式,大多是采用ViewPager中嵌套使用GridView,但这种使用方式中有一个局限性:
如果每个GridView中的子item的背景都不一样,而且不能通过简单的代码来实现这种差异,那么使用这种方法将变得特别费劲。。。而且每个item都加载不同的背景将会极大的耗费资源;
那么笔者想到了另外一种实现方法:
当然也用到了ViewPager,但是ViewPager中嵌套的并不是GridView,而是一个普通的相对布局,xml布局如下,那么也可以实现每页九宫格的效果,其背景是一个page的总的背景,该背景可以进行视觉上的item的分割。。。
<RelativeLayout
android:background="@mipmap/bg_err_grid"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginTop="30dp"
android:layout_marginLeft="30dp"
android:textSize="@dimen/text_size_large"
android:text="测试"
android:gravity="center">
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginTop="30dp"
android:textSize="@dimen/text_size_large"
android:layout_centerHorizontal="true"
android:text="测试"
android:gravity="center">
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginTop="30dp"
android:layout_marginRight="30dp"
android:textSize="@dimen/text_size_large"
android:layout_alignParentRight="true"
android:text="测试"
android:gravity="center">
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginLeft="30dp"
android:layout_centerVertical="true"
android:textSize="@dimen/text_size_large"
android:text="测试"
android:gravity="center">
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:textSize="@dimen/text_size_large"
android:text="测试"
android:gravity="center">
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_marginRight="30dp"
android:textSize="@dimen/text_size_large"
android:text="测试"
android:gravity="center">
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginLeft="30dp"
android:layout_marginBottom="30dp"
android:layout_alignParentBottom="true"
android:textSize="@dimen/text_size_large"
android:text="测试"
android:gravity="center">
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginBottom="30dp"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:textSize="@dimen/text_size_large"
android:text="测试"
android:gravity="center">
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginRight="30dp"
android:layout_marginBottom="30dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:textSize="@dimen/text_size_large"
android:text="测试"
android:gravity="center">
</TextView>
</RelativeLayout>