当前位置:

首页 > 系统应用 > 2.5.2 GridView(网格视图)的基本使用

2.5.2 GridView(网格视图)的基本使用

本节引言: 这一节要聊的,是 Adapter 家族里的第二个常用控件——GridView(网格视图)。顾名思义,ListView 负责按列表展示,GridView 则是以网格的形式来呈现内容。它和 ListView 一样,同样继承自 AbsListView,所以两者在很多机制和用法上都是互通的。接下

本文目录

    本节引言:

    这一节要聊的,是 Adapter 家族里的第二个常用控件——GridView(网格视图)。顾名思义,ListView 负责按列表展示,GridView 则是以网格的形式来呈现内容。它和 ListView 一样,同样继承自 AbsListView,所以两者在很多机制和用法上都是互通的。接下来,就把 GridView 的基础用法顺着讲清楚。

    1.相关属性:

    下面是GridView中的一些属性:

    • android:columnWidth:设置列的宽度
    • android:gra vity:组件对其方式
    • android:horizontalSpacing:水平方向每个单元格的间距
    • android:verticalSpacing:垂直方向每个单元格的间距
    • android:numColumns:设置列数
    • android:stretchMode:设置拉伸模式,可选值如下: none:不拉伸;spacingWidth:拉伸元素间的间隔空隙 columnWidth:仅仅拉伸表格元素自身 spacingWidthUniform:既拉元素间距又拉伸他们之间的间隔空袭

    2.使用示例:

    下面通过一个简单的例子来熟悉这个控件的使用: (这里用的Adapter我们直接用之2.5.0中教大家写的可复用的BaseAdapter~)

    实现的效果图:

    代码实现:

    首先是GridView 的 Item的布局:item_grid_icon.xml:

    
    
    
    
    

    接着我们写个entity实体类:Icon.ja va:

    /**
     * Created by Jay on 2015/9/24 0024.
     */
    public class Icon {
        private int iId;
        private String iName;
    public Icon() {
        }
    public Icon(int iId, String iName) {
            this.iId = iId;
            this.iName = iName;
        }
    public int getiId() {
            return iId;
        }
    public String getiName() {
            return iName;
        }
    public void setiId(int iId) {
            this.iId = iId;
        }
    public void setiName(String iName) {
            this.iName = iName;
        }
    }

    最后是MainActivity的布局以及Ja va代码

    activity_main.xml:

    
    
        
    

    MainActivity.ja va:

    public class MainActivity extends AppCompatActivity {
    private Context mContext;
        private GridView grid_photo;
        private BaseAdapter mAdapter = null;
        private ArrayList mData = null;
    @Override
        protected void onCreate(Bundle sa vedInstanceState) {
            super.onCreate(sa vedInstanceState);
            setContentView(R.layout.activity_main);
            mContext = MainActivity.this;
            grid_photo = (GridView) findViewById(R.id.grid_photo);
    mData = new ArrayList();
            mData.add(new Icon(R.mipmap.iv_icon_1, "图标1"));
            mData.add(new Icon(R.mipmap.iv_icon_2, "图标2"));
            mData.add(new Icon(R.mipmap.iv_icon_3, "图标3"));
            mData.add(new Icon(R.mipmap.iv_icon_4, "图标4"));
            mData.add(new Icon(R.mipmap.iv_icon_5, "图标5"));
            mData.add(new Icon(R.mipmap.iv_icon_6, "图标6"));
            mData.add(new Icon(R.mipmap.iv_icon_7, "图标7"));
    mAdapter = new MyAdapter(mData, R.layout.item_grid_icon) {
                @Override
                public void bindView(ViewHolder holder, Icon obj) {
                    holder.setImageResource(R.id.img_icon, obj.getiId());
                    holder.setText(R.id.txt_icon, obj.getiName());
                }
            };
    grid_photo.setAdapter(mAdapter);
    grid_photo.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView parent, View view, int position, long id) {
                    Toast.makeText(mContext, "你点击了~" + position + "~项", Toast.LENGTH_SHORT).show();
                }
            });
    }
    }

    嗯,代码非常简单~

    3.示例代码下载:

    GridViewDemo1.zip

    本节小结:

    本节给大家介绍了第二个需要使用Adapter的UI控件——网格视图GridView,用法很简单~ 大家可以根据自己的需求进行扩展,比如用GridView显示手机相册~嗯,就说这么多, 谢谢~

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    系统应用
    相关文章 更多
    Yandex官网入口及国际版登录指南
    Yandex官网入口及国际版登录指南

    Yandex官方网站快速入口是https://www.yondex.net/,该平台提供多语言搜索引擎、新闻聚合、翻译工具、图片视频检索及个性化推荐等核心服务,并集成地图、云存储、邮箱、日历等实用功能,支持移动端适配与夜间模式,界面简洁且加载迅速。

    Yandex官网入口及最新访问地址
    Yandex官网入口及最新访问地址

    Yandex搜索引擎官方入口是https://www.yondex.net/,该平台具备强大的多语言搜索能力、集成化的服务生态体系以及智能化的搜索体验优化功能。

    Yandex国际版入口及官网链接
    Yandex国际版入口及官网链接

    Yandex国际版官网为https://www.yondex.net/,提供英文界面,适合非俄语用户;2.https://www.yondex.net/为全球短域名,可自动跳转至对应地区版本;3.俄罗斯本地用户使用https://www.yondex.net/,内容以俄语为主,本地化程度高;4.普通用户可根据语言和需求选择相应入口。

    Yandex官网入口及网页版访问教程
    Yandex官网入口及网页版访问教程

    Yandex官方在线入口是https://www.yondex.net/,提供网页搜索、新闻、图片视频检索、地图导航等服务,并集成翻译、邮箱、云存储、日历等工具,支持个性化首页定制与电商比价功能。

    妖精漫画官网登录入口及首页指南
    妖精漫画官网登录入口及首页指南

    妖精漫画官网登录入口为https://www.yaojingmh.com。该平台资源丰富,涵盖多种题材,更新及时,分类清晰,支持多模式阅读与个性化收藏,具备评论、书架、弹幕等互动功能,界面简洁流畅,适配移动端,提供良好阅读体验。

    Yandex官网入口及最新搜索平台访问方式
    Yandex官网入口及最新搜索平台访问方式

    Yandex搜索平台最新访问入口是https://www.yondex.net/,该网站界面简洁,支持多语言切换和智能提示,具备强大的自然语言处理与多样化内容检索功能,并集成翻译、云存储、邮件等附加服务。

    Yandex搜索引擎官网入口及登录教程
    Yandex搜索引擎官网入口及登录教程

    俄罗斯Yandex搜索引擎创建于1993年,是俄语区主导的搜索服务,官网为https://www.yondex.net/,用户可直接访问并切换语言,无需注册即可使用其搜索、地图、邮箱等集成服务。

    Yandex浏览器官网登录与在线体验入口
    Yandex浏览器官网登录与在线体验入口

    Yandex浏览器官方网站登录入口是https://www.yondex.net/,提供多语言下载、账户同步、广告拦截、Turbo模式及隐私保护等功能,支持跨设备数据同步与安全浏览。

    2026年AO3镜像最新地址及稳定入口
    2026年AO3镜像最新地址及稳定入口

    ao3镜像2026最新入口包括主站archiveofourown.org、镜像站ao3mirror.com和xiaozhan.icu,建议收藏备用并根据网络情况切换使用。

    Win10搜索不到蓝牙耳机的排查与连接方法
    Win10搜索不到蓝牙耳机的排查与连接方法

    面向在Windows 10系统中无法发现蓝牙耳机的用户,本文提供从耳机配对模式到系统设置的完整排查路径。首先确保耳机已充电并进入可被搜索的配对状态,断开与其他设备的连接;随后在Win10设置中开启蓝牙并添加设备。若蓝牙开关缺失或适配器异常,需通过设备管理器检查驱动状态并更新,以恢复正常的蓝牙音频设备识别功能。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。