GridView的功能和用法
来源:互联网 发布:xml与java 编辑:程序博客网 时间:2024/04/30 10:51
在我看来GridView的功能似乎跟ListView的功能相似,同样作为android上的布局控件,GridView被称为网格视图,因为用它来做网格状的布局是非常方便的,比如说九宫格,
先来看看下面的代码:
GridView gridview ;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//setContentView(R.layout.activity_main);View view = View.inflate(this, R.layout.activity_main, null);setContentView(view);gridview = (GridView) findViewById(R.id.GridView1);gridview.setAdapter(new MyAdapter(this));}class MyAdapter extends BaseAdapter{private Context context;private Integer [] imgs = {R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};public MyAdapter(Context context) {this.context = context;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn imgs.length;}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn arg0;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn arg0;}@Overridepublic View getView(int arg0, View arg1, ViewGroup arg2) {ImageView imageView;if(arg1 == null){imageView = new ImageView(context);imageView.setLayoutParams(new GridView.LayoutParams(75,75));imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);imageView.setPadding(8, 8, 8, 8);}else{imageView = (ImageView) arg1;}imageView.setImageResource(imgs[arg0]);return imageView;}}
有没有觉得GridView的使用跟ListView有点相似呢?
都是用适配器把要布局的内容放到控件中。
GridView的用法有很多种,上面介绍的只是最为简单的一种。
我们还可以向下面一样写代码:
private GridView gridview;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);List<Map<String,Object>> items = new ArrayList<Map<String,Object>>();for(int i = 0; i < 9;i++){Map<String, Object> item = new HashMap<String, Object>();item.put("image", R.drawable.ic_launcher);items.add(item);}SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.gridview, new String []{"image"},new int []{R.id.image});gridview = (GridView) findViewById(R.id.GridView1);gridview.setAdapter(adapter);}
这两种方法都是达到了同样的效果,但是你们有没有发现,第二种方法其实比第一种方法灵活得多呢。比如我稍微在适配器那里改一下代码:
SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.gridview, new String []{"image","text"},new int []{R.id.image,R.id.text});
然后在List也加上以下代码:
item.put("image", R.drawable.ic_launcher);item.put("text", "pic" + i);items.add(item);
我们将会看到图片下面会多了文字描述。
0 0
- GridView的功能和用法
- GridView的功能和用法
- GridView和ImageSwitcher的功能和用法
- 网格视图(GridView)的功能与用法
- GridView动态的绑定和显示功能
- [Android]笔记16:网格视图(GridView)的功能与用法
- android-----ListView和GridView的用法
- GridView的基本用法和属性
- GridView 事件和用法
- GridView 事件和用法
- libtool的功能和用法
- ulimit 的功能和用法
- ImageView的功能和用法
- AdapterViewFlipper的功能和用法
- AdapterViewFlipper的功能和用法
- AdapterViewFlipper的功能和用法
- Notification的功能和用法
- Notification的功能和用法
- oracle 唯一约束
- C++指向类成员函数的指针
- 一步步学习SPD2010--附录C--使用SP2010管理任务(5)--配置外部内容类型的权限
- 梦想起航公益行动众星加盟 新体操女神张豆豆助梦
- Mars学习笔记
- GridView的功能和用法
- 那些年,我们读过的python!
- oracle11g dbconsole无法启动问题解决
- 爬虫程序的优化
- Fedora17安装 rhabse时Thrift安装错误解决方法
- android 操作系统
- 我的jenkins自动部署方案演进史
- android.graphics.Rect类的详解
- 【IDE-Visual Studio】360截图快捷键与vs2010 类向导冲突