1.GridView是什么?
GridView又称为网格视图或者九宫格视图,当手机屏幕上需要显示比较多的内容时(包括文字、图片或者其它元素),可以使用GridView。最常见的GridView使用在于早期Android手机的一二级菜单和相册里的照片墙效果,当然如果将GridView的这种布局方式用于软件的主页面用来显示菜单,也是比较好的选择。
2.代码中具体实现
接下来就使用GridView实现照片墙的效果来简单的介绍一下GridView的用法。
实现后的效果:
下面是一些GridView属性:
- android:numColumns="auto_fit" ,GridView的列数设置为自动
- android:columnWidth="90dp",每列的宽度,也就是Item的宽度
- android:stretchMode="columnWidth",缩放与列宽大小同步
- android:verticalSpacing="10dp",两行之间的边距,如:行一(NO.0~NO.2)与行二(NO.3~NO.5)间距为10dp
- android:horizontalSpacing="10dp",两列之间的边距
首先我们要先准备好GridView所需要的布局文件以及item的布局文件
//GridView的布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.chupeng.gridviewdemo.MainActivity">
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:horizontalSpacing="5dp"
android:verticalSpacing="5dp"
android:numColumns="3"
android:listSelector="@android:color/transparent"
android:stretchMode="columnWidth">
</GridView>
</LinearLayout>
//GridView的item的布局文件
<?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:gravity="center">
<com.example.chupeng.gridviewdemo.SquareImageView
android:id="@+id/squareImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/gray"
android:layout_margin="5dp"
android:scaleType="