Android开发——控件基础(八)GridView组件:属性、示例代码、创建思路

网格组件例子(图片):

重要属性

 android:numColumns=”auto_fit”   //GridView的列数设置为自动
 android:verticalSpacing=”10dp”          //两行之间的边距
 android:horizontalSpacing=”10dp”      //两列之间的边距 
 android:columnWidth=”90dp "        //每列的宽度,也就是Item的宽度
 android:stretchMode=”columnWidth"  //缩放与列宽大小同步
 android:cacheColorHint="#00000000" //去除拖动时默认的黑色背景
 android:listSelector="#00000000"        //去除选中时的黄色底色
 android:scrollbars="none"                   //隐藏GridView的滚动条
 android:fadeScrollbars="true"             //设置为true就可以实现滚动条的自动隐藏和显示
 android:fastScrollEnabled="true"      //GridView出现快速滚动的按钮(至少滚动4页才会显示)

代码示例

GridViewActivity://网格布局的java文件
package com.example.administrator.exercise;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.SimpleAdapter;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.lang.*;

public class GridViewActivity extends AppCompatActivity {
    //定义图片数组
    private int [] picture = new int[]{R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04,R.drawable.img05,
            R.drawable.img06,R.drawable.img07,R.drawable.img08,R.drawable.img09};
    //定义网格视图
    GridView gridView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_grid_view);
        //初始化网格视图
        gridView = (GridView) findViewById(R.id.mGv);
        //定义列表
        List<Map<String,Object>> listitem = new ArrayList<Map<String, Object>>();
        //用循环添加图片
        for (int i = 0 ;i<picture.length;i++)
        {
            //定义map
            Map<String,Object> map = new HashMap<String, Object>();
            //把图片添加到map里
            map.put("image",picture[i]);
            //把map添加到list里
            listitem.add(map);
        }
        //定义和初始化适配器
        //第一个参数:上下文对象
        //第二个参数:list对象
        //第三个参数:布局文件,控制图片显示
        //第四个参数:字符串数组,指定map中的K
        //第五个参数:整形数组,指定布局文件中的组件id
        SimpleAdapter simpleAdapter = new SimpleAdapter(getApplicationContext(),listitem,R.layout.cell,new String[]{"image"},new int[]{R.id.image});
        //网格视图添加适配器
        gridView.setAdapter(simpleAdapter);
    }
}

activity_grid_view.xml: //网格布局的布局文件

<?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_grid_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.administrator.exercise.GridViewActivity">
    <GridView
        android:id="@+id/mGv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:numColumns="3"    //设置列数
        android:horizontalSpacing="10dp"    //设置行间距
        android:verticalSpacing="10dp"    //设置列间距
        >

    </GridView>
</LinearLayout>

cell.xml://控制图片的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_height="75dp"
        android:layout_width="160dp"
        android:id="@+id/image"
        android:scaleType="centerCrop"/>
</LinearLayout>

网格布局的思路

大体思路:

1.创建图片布局文件

2.创建图片数组

3.循环添加图片

4.配置和添加适配器

具体思路:

1.创建图片的布局文件,设置ImageView的属性

2.在java文件中int数组添加图片

3.创建map类型的list数组

4.循环添加图片到map,再将map添加到list

5.创建并初始化SimpleAdapter适配器,添加五个参数

6.为GridView添加适配器

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子座的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值