灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4579回复:0

Android GridView九宫图

楼主#
更多 发布于:2012-09-06 14:04

属性名称描述
Android:columnWidth设置列的宽度。
Android:gravity设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多选,用“|”分开。
Android:horizontalSpacing两列之间的间距。
Android:numColumns设置列数。
Android[/img]



===============================================================================
案例二:同样的效果:
布局文件使用上面一样的:
定义一个ImageAdapter类,此类继承BaseAdapter如下:
01 package com.test;
02
03 import Android.content.Context;
04 import Android.view.View;
05 import Android.view.ViewGroup;
06 import Android.widget.BaseAdapter;
07 import Android.widget.GridView;
08 import Android.widget.ImageView;
09
10 public class GridViewAdapter extends BaseAdapter {
11
12     //定义Context
13     private Context  mContext;
14    
15     //定义整形数组 (图片资源)
16     private  int []  mimages=
17     {
18      R.drawable.Android,R.drawable.blackberry,R.drawable.windowshone,
19      R.drawable.windowshone,R.drawable.blackberry,R.drawable.Android,
20      R.drawable.windowshone,R.drawable.ios,R.drawable.blackberry
21    
22     };
23    
24     public GridViewAdapter(Context  c)
25     {
26         mContext=c;
27     }
28    
29     //获取图片的个数
30     @Override
31     public int getCount() {
32         // TODO Auto-generated method stub
33         return mimages.length;
34     }
35    // 获取图片在库中的位置www.atcpu.com
36     @Override
37     public Object getItem(int position) {
38         // TODO Auto-generated method stub
39         return position;
40     }
41  
42     //获取图片ID
43     @Override
44     public long getItemId(int position) {
45         // TODO Auto-generated method stub
46         return position;
47     }
48
49     @Override
50     public View getView(int position, View convertView, ViewGroup parent)
51     {
52        ImageView mimageView;
53        if(convertView==null)
54        {
55            //给Imageview设置资源
56            mimageView = new ImageView(mContext);
57            //设置布局图片120*120显示
58      
59            mimageView.setLayoutParams(new GridView.LayoutParams(85, 85));
60            
61            mimageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
62            
63            mimageView.setPadding(8, 8, 8, 8);
64        }else
65        {
66            mimageView=(ImageView) convertView;
67        }
68        mimageView.setImageResource(mimages[position]);
69        return mimageView;
70     }
71 }
01 package com.test;
02 import java.util.ArrayList;
03 import java.util.HashMap;
04 import Android.app.Activity;
05 import Android.os.Bundle;
06 import Android.view.View;
07 import Android.widget.AdapterView;
08 import Android.widget.AdapterView.OnItemClickListener;
09 import Android.widget.GridView;
10 import Android.widget.SimpleAdapter;
11 import Android.widget.Toast;
12 public class GridViewDemo_2 extends Activity {
13     private GridView  gridView;
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         // TODO Auto-generated method stub
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.gridview_main);
19        
20         gridView = (GridView)findViewById(R.id.gridview_main);
21        
22         gridView.setAdapter(new GridViewAdapter(this));//调用GridViewAdapter
23        
24         gridView.setOnItemClickListener(clickListener);
25     }
26    
27     private  OnItemClickListener  clickListener =new OnItemClickListener() {
28
29         @Override
30         public void onItemClick(AdapterView<?> arg0, View arg1, int position,
31                 long id) {
32             Toast.makeText(GridViewDemo_2.this, ""+position,Toast.LENGTH_SHORT).show();//显示信息;
33            
34         }
35     };
36 }
效果:

  

作者:amigos_pop




喜欢0 评分0
游客

返回顶部