android,gridview
package com.wes.gridview; import java.util.List; import android.content.Context;
import android.content.pm.ResolveInfo;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView; public class MyAdapter extends BaseAdapter
{
Context context; //上下文关系
List<ResolveInfo> apps; //数据源
public MyAdapter(Context ctx,List<ResolveInfo> apps)
{ //构造函数
this.context = ctx;
this.apps = apps;
}
@Override
public int getCount()
{
return apps.size(); //得到个数
} @Override
public Object getItem(int position)
{
return apps.get(position); //得到该位置的Item
} @Override
public long getItemId(int position)
{
return position; //得到Item的位置
} @Override
public View getView(int position, View convertView, ViewGroup parent)
{ //得到视图
ImageView imageView;
if (convertView == null)
{
imageView = (ImageView) new ImageView(context); //实例化一个ImageView
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//设置尺度模式,缩放以处于中间
imageView.setLayoutParams(new GridView.LayoutParams(, ));//设置布局参数 }
else
{
imageView = (ImageView) convertView; //直接返回converView
}
imageView.setTag(position);
ResolveInfo info = apps.get(position); //得到该位置的ResolvsInfo
//为ImageView设置背景图片
imageView.setImageDrawable(info.activityInfo.loadIcon(context.getPackageManager()));
return imageView;
} }
getView会创建立一个屏幕的View(跟屏幕大小有关),接着当用户拖动平面时getView会把已经创建的view传递进来,这里需要做的事情就是改变view的内容
参考:
http://www.oschina.net/question/54100_27825
android,gridview的更多相关文章
- Android——GridView(网格视图)相关知识总结贴
Android API中文文档GridView http://www.apkbus.com/android-14131-1-1.html Android API 中文 (15) —— GridVi ...
- Android GridView增加HeaderView和FooterView的实现
Android GridView增加HeaderView和FooterView的实现 做的项目中遇到一个问题,需要实现一个页面 页面的上面是一个自定义的View和GridView,当向下滚动屏幕的时候 ...
- android gridview画分割线
dongyangzhang android gridview画分割线,如图: 1.先上图: 2.具体实现代码: public class LineGridView extends GridView { ...
- android gridview 停止滚动
http://blog.csdn.net/yaphetzhao/article/details/50544105 参考上面的博客,关键代码我就贴出来吧: public void stopGridVie ...
- Android GridView 通过seletor 设置状态和默认状态
Android中可以通过selector控制GridView Item 的状态,而省去使用代码控制 GridView View Selector Xml文件 <?xml version=&quo ...
- android gridview几个重要属性(android:listSelector自带内部padding分析)
一.android:scrollbarStyle 决定状态条的位置 常用属性outsideOverlay,滚动条在最外层,gridview设置的padding在滚动条的内侧 二.andr ...
- android gridview画分割线,如图:
1.先上图: 2.具体实现代码: public class LineGridView extends GridView { public LineGridView(Context context) { ...
- Android GridView的使用
Android的GridView控件用于把一系列的空间组织成一个二维的网格显示出来应用的比较多的就是组合图片显示下面我就详细讲一个例子 首先写一个类继承BaseAdapter 1. Java代码 1 ...
- Android——GridView(显示文字)
activity_test9的layout文件: <?xml version="1.0" encoding="utf-8"?> <Linear ...
- Android——GridView
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
随机推荐
- 使用Celery踩过的坑
为什么要使用celery Celery是一个使用Python开发的分布式任务调度模块,因此对于大量使用Python构建的系统,可以说是无缝衔接,使用起来很方便.Celery专注于实时处理任务,同时也支 ...
- 设计模式(Python)-简单工厂,工厂方法和抽象工厂模式
本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题: 为什么?即为什么要使用这个设计模式,在使用这个模式之前存在什么样的 ...
- 使用bit管理npm包
npm 包给共享,团队写作有好多问题需要解决,类似的解决方案有lerna yarn 使用monorepo,bit 官方有相关的比较 以下只说明如何进行简单的项目使用 网站 https://bitsrc ...
- spring与hibernate注解及XML方式集成
spring与hibernate注解及XML方式集成 Hibernate Xml方式 该种方式需要在sessionFactory中引入对应的hbm.xml文件,样例如下: <!-- spring ...
- 【转】VC++ 也有 Refactoring 功能了
原文网址:http://blog.csdn.net/yapingxin/article/details/18923095 分类: C++2014-02-04 14:00 2688人阅读 评论(0) 收 ...
- android adb端口被占用解决方法
1.输入adb devices命令 C:\Users\Nick>adb devices List of devices attached adb server version (31) does ...
- node.js + express 初体验【hello world】
[node.js] 一个神奇的XX 呵呵 :) 不知道怎么形容他才好! [express] 是node.js 开发web应用程序的框架 开发环境:XP 大家共同进步吧 :) 一:前期准备: 1:下载 ...
- 差分进化算法-python实现
DEIndividual.py import numpy as np import ObjFunction class DEIndividual: ''' individual of differen ...
- laravel中生成支付宝 二维码 扫码支付
文档教程模拟: http://www.023xs.cn/Article/37/laravel5%E9%9B%86%E6%88%90%E6%94%AF%E4%BB%98%E5%AE%9Dalipay%E ...
- SimpleDateFormat 和 LocalDate、LocalTime 以及时间大小比较简单示例
package mytest; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time ...