Android开发之GridView的使用(解读谷歌官方API)
GridView将图片显示在二维可移动的网格里,使用ListAdapter可以将Grid项目自动填充满整个布局。下面我们根据官方文档的例子来实现一下使用GridView,点击视图里的图片弹出图片的position的效果。
首先在main.xml文件创建下列布局。
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview"android:layout_width="fill_parent" android:layout_height="fill_parent"android:columnWidth="90dp"android:numColumns="auto_fit"android:verticalSpacing="10dp"android:horizontalSpacing="10dp"android:stretchMode="columnWidth"android:gravity="center"
/>
在MainAcitivity中,因为要使用setAdapter适配器加载数据,所以要先创建一个类继承BaseAdapter
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);GridView gridview = (GridView) findViewById(R.id.gridview);gridview.setAdapter(new ImageAdapter(this));gridview.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> parent, View v, int position, long id) {Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();}});
}
public class ImageAdapter extends BaseAdapter {private Context mContext;public ImageAdapter(Context c) {mContext = c;}public int getCount() {return mThumbIds.length;}public Object getItem(int position) {return null;}public long getItemId(int position) {return 0;}// create a new ImageView for each item referenced by the Adapterpublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView;if (convertView == null) { // if it's not recycled, initialize some attributesimageView = new ImageView(mContext);imageView.setLayoutParams(new GridView.LayoutParams(85, 85));imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);imageView.setPadding(8, 8, 8, 8);} else {imageView = (ImageView) convertView;}imageView.setImageResource(mThumbIds[position]);return imageView;}// references to our imagesprivate Integer[] mThumbIds = {R.drawable.sample_2, R.drawable.sample_3,R.drawable.sample_4, R.drawable.sample_5,R.drawable.sample_6, R.drawable.sample_7,R.drawable.sample_0, R.drawable.sample_1,R.drawable.sample_2, R.drawable.sample_3,R.drawable.sample_4, R.drawable.sample_5,R.drawable.sample_6, R.drawable.sample_7,R.drawable.sample_0, R.drawable.sample_1,R.drawable.sample_2, R.drawable.sample_3,R.drawable.sample_4, R.drawable.sample_5,R.drawable.sample_6, R.drawable.sample_7};
}
添加以上代码就已大功告成。 setLayoutParams(ViewGroup.LayoutParams)
,设置图片大小。 setScaleType(ImageView.ScaleType)
设置图片显示形式。 setPadding(int, int, int, int)
设置图片的间距。如果视图传递给getView()不是null,那么使用当地的回收的convertView视图对象进行初始化。
Android开发之GridView的使用(解读谷歌官方API)相关推荐
- Android开发之Dialog的三种列表显示(解读谷歌官方API)
根据谷歌的官方文档呢,我们可以有三种列表显示的关于ALertDialog api的可用:.(1)传统的单一选择列表(2)一个持久的单一选择列表(单选按钮) (3)一个持久的多项选择列表(复选框) .创 ...
- Android 开发之 GridView及其事件监听
2019独角兽企业重金招聘Python工程师标准>>> 步骤: //1.准备数据源 //2.新建适配器 //3.GridView加载适配器 //4.GridView配置事件监听器 ` ...
- Android 开发之Windows环境下Android Studio安装和使用教程(图文详细步骤)
鉴于谷歌最新推出的Android Studio备受开发者的推崇,所以也跟着体验一下. 一.介绍Android Studio Android Studio 是一个Android开发环境,基于Intel ...
- android 图库分析,Android开发之ImageSwitcher相册功能实例分析
本文实例讲述了Android开发之ImageSwitcher相册功能.分享给大家供大家参考,具体如下: 简介: 1.ImageSwitcher是viewSwitcher的子类,所以ImageSwitc ...
- Android开发之仿QQ表情实现(上)
大家晚上好,,小鹿又来了..最近小鹿特别忙,忙到没时间发表博客了(注:以下内容过于简单请大家不要喷,仅提供初学者学习) 今天发表两篇文章,分别是讲解模拟QQ表情的实现,先给大家看效果图,,,, 开始了 ...
- Android开发之SlidingDrawer(一)
Android开发之SlidingDrawer(一) /* * Android开发之SlidingDrawer * 北京Android俱乐部群:167839253 * Created on: 20 ...
- android studio输入框下划线,Android开发之TextView的下划线添加
Android开发之TextView高级应用 Android开发之TextView高级应用 我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.以下就和大 ...
- android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序
android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序 在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, ...
- Android开发之TextView高级应用
Android开发之TextView高级应用 我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.以下就和大家分享一下TextView的一些使用技巧. A ...
最新文章
- tomcat出现5个using_出现急性心梗,要当心5个并发症,一个都不好惹!
- 【干货】Linux中实用但很小众的11个炫酷终端命令
- iis php json文件,配置iis支持.json格式的文件
- 一文告诉你雾计算与云计算的区别及对物联网的价值!
- 栈溢出笔记1.2 覆盖EIP
- 【clickhouse】MergeTree引擎的固定/自适应索引粒度
- android平台代号、版本、API 级别和 NDK 版本
- 使用UrlRewriteFilter对url进行更替
- 【小家Java】Future与FutureTask的区别与联系
- 虚伪,不只是形容一个人
- 基于avr atmega16单片机定时器的 pwm调宽调占空比以及调频率
- sqlmap基本命令
- 【一年总结】记我的大二生活
- (修订)来自山区双非本科少年的秋招冒险记
- 服务器系统可以备份,服务器操作系统可以备份吗
- 高新技术企业补助政策
- 为什么D类音频功放可以免输出滤波器
- JZOJ5238【GDOI模拟】的士碰撞
- Android修改ro.debuggable 的四种方法
- android手机霍尔开关的介绍
热门文章
- redis api java 正则_java代码怎么正则删除redis的数据
- 计算机专业活动简报,计算机系辩论赛活动简报
- linux文件删除漏洞,OpenStack Glance v1 API任意文件删除漏洞(CVE-2012-4573)
- MFC消息响应函数OnPaint
- python中attr_python中hasattr()、getattr()、setattr()函数的使用
- 串口调试助手c语言程序,串口调试助手C语言源程序
- 本地配置文件git提交
- 一种轻量级的C4C业务数据同步到S/4HANA的方式:Odata通知
- mysql-atlas安装及使用教程
- 关于windows的进程处理(七)