android 最简单的九宫格实现

简介: public class GridViewFunction extends Activity { private GridView _gridview; private List list; _gridview=(GridView) findViewById(R.
public class GridViewFunction extends Activity {
private GridView _gridview;
private List<Map<String ,Object>> list;
_gridview=(GridView) findViewById(R.id.gridView1); 
list=new ArrayList<Map<String,Object>>(); 
  for (int i = 0; i < 9; i++) { 
    Map<String,Object> map=new HashMap<String, Object>(); 
    map.put("img",R.drawable.icon); 
   map.put("text",i+"item"); 
        list.add(map);  
 } 
   SimpleAdapter simple=new SimpleAdapter(getApplicationContext(), list, R.layout.gridview_item,new String[] {"img","text"},new int[]{R.id.log_item_image,R.id.log_item_text}); _gridview.setAdapter(new GridViewAdapter(this));
}

 R.layout.gridview_item 文件里面放2个。一个图片和一个文字:
主文件直接放GIRDVIEW控件。   
  <GridView    android:id="@+id/gridView1"
       android:layout_width="fill_parent"
      android:numColumns="auto_fit"
       android:stretchMode="columnWidth" 
       android:columnWidth="90dp"
    android:gravity="center"
            android:layout_height="fill_parent">
         </GridView>

这样就完成了。


当然,如果简单一点的话直接适配比较好!
代码以下:

class GridViewAdapter extends BaseAdapter{
private Context ct;
public GridViewAdapter(Context ct){
this.ct=ct;
}

private int [] img={R.drawable.imagebutton1,R.drawable.imagebutton2,R.drawable.imagebutton3,
R.drawable.imagebutton4,R.drawable.imagebutton5,R.drawable.imagebutton6,R.drawable.imagebutton7,R.drawable.imagebutton8,R.drawable.imagebutton9};
private String [] text= {
"A","B","C","D"
,"E","F","G","H"
,"I"
};
@Override
public int getCount() {
// TODO Auto-generated method stub
return text.length;
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
WrapperImgText wrapper;
if(convertView==null){
wrapper=new WrapperImgText();
LayoutInflater layout=LayoutInflater.from(ct);
convertView=layout.inflate(R.layout.gridview_item,null);
convertView.setTag(wrapper);
convertView.setPadding(15, 15, 15, 15);
}else{
wrapper=(WrapperImgText) convertView.getTag();
}
wrapper.image=(ImageView) convertView.findViewById(R.id.log_item_image);
wrapper.tv=(TextView) convertView.findViewById(R.id.log_item_text);
wrapper.image.setBackgroundResource(img[position]);
wrapper.tv.setText(text[position]);
return convertView;
}
class WrapperImgText{
ImageView image;
TextView tv;
}
}

相关文章
|
Android开发
flutter中实现仿Android端的onResume和onPause方法
flutter中实现仿Android端的onResume和onPause方法
|
缓存 JSON Java
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
444 1
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
|
Android开发 容器
Android实现面包屑效果,支持Fragment联动
Android实现面包屑效果,支持Fragment联动
|
Android开发
Android实现连线题效果
Android实现连线题效果
|
移动开发 JavaScript Android开发
通过howler.js实现在Android下的微信浏览器自动播放音频
通过howler.js实现在Android下的微信浏览器自动播放音频
546 0
通过howler.js实现在Android下的微信浏览器自动播放音频
|
数据库 Android开发
android 多级下拉菜单实现教程 greendao使用
android 多级下拉菜单实现教程 greendao使用
248 0
android 多级下拉菜单实现教程 greendao使用
|
存储 API Android开发
深入剖析Android四大组件(四)——Messenger实现Android IPC
深入剖析Android四大组件(四)——Messenger实现Android IPC
149 2
|
监控 前端开发 Java
Android自定义控件(十)——SurfaceView实战实现天气APP背景移动效果
Android自定义控件(十)——SurfaceView实战实现天气APP背景移动效果
453 0
|
XML 开发工具 Android开发
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
308 0
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
|
Android开发
Android自定义控件(七)——ShapeDrawable实现放大镜效果
Android自定义控件(七)——ShapeDrawable实现放大镜效果
504 0
Android自定义控件(七)——ShapeDrawable实现放大镜效果
下一篇
无影云桌面