如何设置gridview的风格样式_vs中gridview控件的使用

阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

  • GridView 主要用法
  • GridView 使用案例

GridView 跟ListView 很类似,Listview 主要以列表形式显示数据,GridView 则是以网格形式显示数据,掌握ListView 使用方法后,会很轻松的掌握GridView的使用方法。

GridView 简介

继承关系如下

java.lang.Object

android.view.View

android.view.ViewGroup

android.widget.AdapterView<android.widget.ListAdapter>

android.widget.AbsListView

android.widget.GridView

1. GridView 主要使用方法

GridView主要通过使用自定义BaseAdapter 来适配数据,进而显示到GridView中。主要使用方法如下:

1. 准备数据源

list = new ArrayList<Map<String, Object>>();

2. 为数据源设置适配器

MyAdapter adapter = new MyAdapter();

3. 将适配过后点数据显示在GridView 上

gridView.setAdapter(adapter);

2. GridView 使用Demo

  • 实现效果如下

如何设置gridview的风格样式_vs中gridview控件的使用

GridView

  • 实现代码如下

private GridView gridView; private List<Map<String, Object>> list; private int images = { R.drawable.gril, R.drawable.ic_launcher, R.drawable.gril, R.drawable.ic_launcher, R.drawable.gril, R.drawable.ic_launcher, R.drawable.gril, R.drawable.ic_launcher, R.drawable.gril }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_grid_view_method); gridView = (GridView) findViewById(R.id.gv); // 1. 准备数据源 list = new ArrayList<Map<String, Object>>(); for (int i = 0; i < images.length; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put(“image”, images); map.put(“text”, “图片” + i); list.add(map); } // 2.为数据源设置适配器 MyAdapter adapter = new MyAdapter(); // 3.将适配过后点数据显示在GridView 上 gridView.setAdapter(adapter); // item点击事件处理 gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // Toast.makeText(GridViewMethod.this, list.get(position).get(“text”).toString(), Toast.LENGTH_SHORT).show(); } }); } class MyAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { // 第一次加载创建View,其余复用 View convertView = LayoutInflater.from(GridViewMethod.this).inflate( R.layout.gridview_item_img_tv, null); holder = new ViewHolder(); holder.imageView = (ImageView) convertView .findViewById(R.id.grid_img); holder.textView = (TextView) convertView .findViewById(R.id.grid_tv); // 打标签 convertView.setTag(holder); } else { // 从标签中获取数据 holder = (ViewHolder) convertView.getTag(); } // 根据key值设置不同数据内容 holder.imageView.setImageResource((Integer) list.get(position).get( “image”)); holder.textView.setText((String) list.get(position).get(“text”)); return convertView; } } class ViewHolder { ImageView imageView; TextView textView; }

  • GridView 布局如下

<?xml version=”1.0″ encoding=”utf-8″?> <LinearLayout xmlns:andro xmlns:tools=”http://schemas.android.com/tools” android:layout_ android:layout_ tools:context=”com.android.program.programandroid.ListView.GridViewMethod”> <GridView android: android:layout_ android:layout_ android:layout_gravity=”center” android:gravity=”center” android:horizontalSpacing=”10dp” android:numColumns=”3″ android:verticalSpacing=”10dp” /> </LinearLayout>

  • item 布局 如下

<?xml version=”1.0″ encoding=”utf-8″?> <LinearLayout xmlns:andro android:layout_ android:layout_ android:orientation=”vertical”> <ImageView android: android:layout_ android:layout_ android:layout_margin=”5dp” android:gravity=”center_horizontal” android:src=”@drawable/ic_launcher” /> <TextView android: android:layout_ android:layout_ android:layout_margin=”5dp” android:textColor=”@android:color/darker_gray” android:text=”test” android:gravity=”center_horizontal” android:textSize=”25sp” /> </LinearLayout>

至此GridView 的基本使用方法结束。

如果不是太明白,可以查看上篇文章

ListView 使用详解

友情推荐:

Android 干货分享

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

本文【如何设置gridview的风格样式_vs中gridview控件的使用】由作者: 外键 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4653.html

(0)
上一篇 2023-03-17 08:49:11
下一篇 2023-03-17 08:58:39

相关推荐

  • 火狐flash播放器卸载不了(浏览器内置flash卸载)

    2021年刚开始,但有些产品的生命却走向终点,比如,Flash。 从2020年12月31日起,Adobe公司就不再为Flash Player(Flash播放器)提供支持,这意味着今后官方不会有任何更新或安全补丁,Adobe还建议用户尽快卸载Flash播放器。 不同于普通的视频播放器或更流行的视频应用,Flash播放器是很多浏览器内置的组件,早期的视频网站、目…

    2023-03-13
    500
  • chart控件怎么绑定数据库 数据库控件

    通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 在本教程中,您将完成可视化数据源所需的步骤。 应该执行以下步骤,本文我们将为大家介绍3个步骤及最后结果,更多完整内容欢迎持续关注! Step 1. 编写一个应用程序 Step 2. 为图表和…

    2023-03-16
    100
  • 如何用c语言求最大公约数

    题目要求: 编写一个程序计算两个正整数的最大公约数和最小公倍数。 题目分析: 所谓两个数最大公约数就是指两个数a,b的公共因数中最大的那一个。例如:4和8,两个数的公共因数分别为1、2、4,其中4为4和8的最大公约数。 因此要计算出两个数的最大公约数,最简单的方法就是从两个数中较小的那个开始依次递减,得到的第一个这两个数的公因子数即为这两个数的最大公约数。 …

    2023-03-09
    600
  • 计算机编程语言的发展_基础编程语言

    1. 编程语言发展 1.1 1940年之前 第一个编程语言比现代的计算机还早诞生。首先,这种语言是种编码。 于1804年发明的提花织布机(或称甲卡提花织布机),运用打孔卡上的坑洞来代表缝纫织布机的手臂动作,以便自动化产生装饰的图案。 爱达·勒芙蕾丝在1842年至1843年间花费了九个月,将意大利数学家Luigi Menabrea关于查尔斯·巴贝奇新发表机器分…

    2023-03-11
    600
  • 源代码 播放

    由于FFmpeg的不断更新,为了深入理解FFmpeg,我参照雷神的代码结构图,重新画了一张图。 主要参考的FFmpeg官方代码:FFmpeg: fftools/ffplay.c File Reference FFmpeg 版本:3.4.9 released on 2021-10-1 源代码结构图 注: 在event_loop函数中判断用户输入(键盘、鼠标等)…

    2023-03-14
    300
  • oracle提示标识符无效

    ORA-00904: invalid identifier —- 翻译过来是无效标识符 在开发当中遇见的问题,这是比较常见的 也是大家要注意的地方 我总结了几种有可能的报错信息 有的时候,报”ORA-00904: invalid identifier标识符无效“时,有可能是因为 1.你的字段在表中不存在 2.创建字段时最后一个字段加了”,&#03…

    2023-03-14
    000
  • vb基础教程从入门到精通pdf,vb教程编程实例详解pdf

    应用实例: 给VB程序加菜单图标: 在VB里面加图标比较麻烦,你需要用到API函数进行调用,参数不好理解: 给菜单添加图标的API函数:GetMenu、GetSubMenu、GetMenuItemID、SetMenuItemBitmaps。 写代码前你要把ImageList控件放到窗体上,如果工具栏中找不到它,通过“工程”菜单下的“部件”进行添加: 将Ima…

    2023-03-16
    000
  • vhdl分频器时钟频率50MHz,10分频器的VHDL代码

    7. 分频器设计(分频输出:1Hz或2Hz的信号) 要求:实验开发板上有一个50MHz的时钟脉冲(此频率过高,接到开发板的LED灯后,无法观察到LED灯一 亮一灭的过程),设计一个分频器,使得分频后的时钟脉冲接到开发板上的LED灯后,肉眼可以观察到LED灯 闪烁。 8. 设计一个十进制加法计数器 使用设计的分频器的输出信号作为计数器的时钟输入,再利用第二次实…

    2023-03-18
    100
  • wireshark抓包分析tcp数据包

    前言 当你看到这篇文章时,你只能看到已经渲染好的文字和图像,而网络数据的交互对我们来说,却是看不见的,所以学习计算机网络原理的时候就会觉得非常的抽象,这一度让我苦恼。 而且网络数据交换真实的模样,到底是不是真的如大多数文章所描绘的一样? 这些疑问让我早就想干这件事了。 所以不如就去看看离我们最近的协议 TCP 到底长什么样? 为了能“看见”TCP,我们需要借…

    2023-03-11
    200
  • linux内核主要由哪几个部分组成

    简述 Linux内核简称kernel是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制、是否支持LVM或Quota等文件系统等等,如果内核不认识某个最新的硬件,那么硬件也就无法被驱动,你也就无法使用该硬件 。 组成 一个完整的Linux内核一般由5部分组成,它们分别是进程管理、内存管理、进程间通信、虚拟文件系统和网络…

    2023-03-11
    000

发表回复

登录后才能评论
返回顶部
错说博客上线啦!