2010.12.29(2)——— android 可伸缩的GridView

用 GridView 来实现九宫格布局 并且一个格显示一个图片和一行字

[b]1、ImageAdapter[/b]

package com.huitu.shyj.adapter;

import android.content.Context;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;

import com.huitu.shyj.activity.R;

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; }

   public View getView(int position, View convertView, ViewGroup parent) {       LinearLayout layoutView;

        if(convertView==null){          layoutView=new LinearLayout(mContext);           layoutView.setOrientation(LinearLayout.VERTICAL);           

            ImageView iconView;           TextView iconText;

          iconView=new ImageView(mContext);            iconView.setLayoutParams(new GridView.LayoutParams(60,60));           iconView.setScaleType(ImageView.ScaleType.CENTER_CROP);               iconView.setImageResource(mThumbIds[position]);

         iconText=new TextView(mContext);         iconText.setText(mThumbStrings[position]);

          LinearLayout.LayoutParams relParams=new LinearLayout.LayoutParams(               LinearLayout.LayoutParams.WRAP_CONTENT,               LinearLayout.LayoutParams.FILL_PARENT         );

          layoutView.addView(iconView, relParams);          layoutView.addView(iconText, relParams);

            layoutView.setPadding(5, 10, 5, 10);          layoutView.setGravity(Gravity.CENTER);        }     else {            layoutView=(LinearLayout)convertView;        }       

        return layoutView;    }

   private Integer[] mThumbIds={        R.drawable.icon_1,R.drawable.icon_2,R.drawable.icon_3,        R.drawable.icon_4,R.drawable.icon_5,R.drawable.icon_6,        R.drawable.icon_7,R.drawable.icon_8,R.drawable.icon_9,        R.drawable.icon_10,R.drawable.icon_11,R.drawable.icon_12,     R.drawable.icon_13,R.drawable.icon_14,R.drawable.icon_15  };

  private Integer[] mThumbStrings={        R.string.app_act1,R.string.app_act2,R.string.app_act3,        R.string.app_act4,R.string.app_act5,R.string.app_act6,        R.string.app_act7,R.string.app_act8,R.string.app_act9,        R.string.app_act10,R.string.app_act11,R.string.app_act12,     R.string.app_act13,R.string.app_act14,R.string.app_act15  };}

[b]2、MainActivity[/b]

package com.huitu.shyj.activity;

import java.io.File;

import com.huitu.shyj.activity.R;import com.huitu.shyj.adapter.ImageAdapter;import com.huitu.shyj.util.SHYJTools;

import android.app.Activity;import android.content.Intent;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends Activity {    public static final String ROOTPATH="/sdcard/SHYJ";    public SharedPreferences settings;

  Intent intent;

    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);

        File file=new File(ROOTPATH);        if(!file.exists()){            file.mkdir();        }

        //未设置跳转至设置页面        settings=getSharedPreferences(MXiTongSZ.SETTING_INFOS ,0);        String strwebservice=settings.getString(MXiTongSZ.WEBSERVICE, "");        String strlat=settings.getString(MXiTongSZ.LAT, "");        String strlon=settings.getString(MXiTongSZ.LON, "");        if(strwebservice.equals("")||strlat.equals("")||strlon.equals("")){         intent=new Intent();         intent.setClass(MainActivity.this, MXiTongSZ.class);          startActivity(intent);        }

        SHYJTools.SHYJ_RECEIVE=settings.getInt(MXiTongSZ.RECEIVE, 0);

        setTitle(R.string.app_name);        GridView gridView=(GridView)findViewById(R.id.main);        gridView.setAdapter(new ImageAdapter(this));

        gridView.setOnItemClickListener(new OnItemClickListener(){            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,                   long arg3) {

                switch(arg2){             case 0:                   intent=new Intent();                 intent.setClass(MainActivity.this, MYuJingXX.class);                  startActivity(intent);                    break;

              case 1:                   intent=new Intent();                 intent.setClass(MainActivity.this, MYingJiXY.class);                  startActivity(intent);                                    break;

              case 2:                   intent=new Intent();                 intent.setClass(MainActivity.this, MYuJingCX.class);                  startActivity(intent);                                    break;

              case 3:                   intent=new Intent();                 intent.setClass(MainActivity.this, MYuQingJS.class);                  startActivity(intent);                                    break;

              case 4:                   intent=new Intent();                 intent.setClass(MainActivity.this, MShuiQingJS.class);                    startActivity(intent);                                    break;

              case 5:                   intent=new Intent();                 intent.setClass(MainActivity.this, MZhiBanXX.class);                  startActivity(intent);                                    break;

              case 6:                   intent=new Intent();                 intent.setClass(MainActivity.this, MYuAnCX.class);                    startActivity(intent);                                    break;

              case 7:                   intent=new Intent();                 intent.putExtra("AppType", "EPCX");                   intent.setClass(MainActivity.this, MQueryEvent.class);                    startActivity(intent);                                    break;

              case 8:                   intent=new Intent();                 intent.putExtra("AppType", "EVCX");                   intent.setClass(MainActivity.this, MQueryEvent.class);                    startActivity(intent);                                    break;

              case 9:                   intent=new Intent();                 intent.setClass(MainActivity.this, MTianQiYB.class);                  startActivity(intent);                                    break;

              case 10:                  intent=new Intent();                 intent.setClass(MainActivity.this, MPicActivity.class);                   intent.putExtra("AppType", "WXYT");                   startActivity(intent);                                    break;

              case 11:                  intent=new Intent();                 intent.setClass(MainActivity.this, MPicActivity.class);                   intent.putExtra("AppType", "TFLJ");                   startActivity(intent);                                    break;

              case 12:                  intent=new Intent();                 intent.setClass(MainActivity.this, MFangXunZZ.class);                 startActivity(intent);                                    break;

              case 13:                  intent=new Intent();                 intent.setClass(MainActivity.this, MXiTongSZ.class);                  startActivity(intent);                                    break;

              case 14:                  finish();                 break;

              default:                  finish();             }         }                   });    }}

[color=red]另一种方法 不用自己写adapter[/color]
参考[url]http://blog.csdn.net/hellogv/archive/2009/09/18/4567095.aspx[/url]

2010.12.29(2)——— android GridView相关推荐

  1. 2010.12.14 关于decimal和Numeric类型

    decimal:从-10^38到10^38-1的定精度与有效位数的数字 numeric:decimal的同义词 怎么理解Numberic类型呢? Decimal数据类型,语法为:Decimal(P,S ...

  2. Cheatsheet: 2010 12.13 ~ 12.23

    Web Slow Website? 6 Ways to Speed it Up MongoDB Monitoring: Keep in it RAM Minify JavaScript on the ...

  3. Android GridView属性集合

    Android GridView属性集合 GridView的一些特殊属性: 1.android:numColumns="auto_fit" //GridView的列数设置为自动 2 ...

  4. http://www.blogjava.net/heyang/archive/2010/12/02/

    2019独角兽企业重金招聘Python工程师标准>>> http://www.blogjava.net/heyang/archive/2010/12/02/339589.html 使 ...

  5. android gridview画分割线

    dongyangzhang android gridview画分割线,如图: 1.先上图: 2.具体实现代码: public class LineGridView extends GridView { ...

  6. 2021.12.29国内第一家量产蓝牙AOA高精度定位基站设备原厂深圳核芯物联荣获第二十三届高交会双项大奖

    2021.12.29国内第一家量产蓝牙AOA高精度定位基站设备原厂深圳核芯物联荣获第二十三届高交会双项大奖 2021年12月29日,核芯物联参展第二十三届中国国际高新技术成果交易会.凭借在蓝牙AOA基 ...

  7. ubuntu 12.04 NDK + android 4.0.3_r1 编译libffmpeg.so

    环境:ubuntu 12.04 .android-ndk-r8d . android 4.0.3_r1 编译libffmpeg.so .找了很多开源项目,,终于有一个可以编译通过了,RockPlaye ...

  8. android gridview 停止滚动

    http://blog.csdn.net/yaphetzhao/article/details/50544105 参考上面的博客,关键代码我就贴出来吧: public void stopGridVie ...

  9. 2010.9.29 今日问题

    1.CDC,如果自己获得了一个CDC,要注意释放.所以最好使用OnDraw传入的DC,由调用者管理 2.重画界面后,要及时Invalidate(); 否则会发现没有变化,只有下次触发时,才能看到结果 ...

最新文章

  1. Scrum 冲刺博客第四篇
  2. PostgreSQL 数据库备份
  3. 未来一瞥:机器人码农
  4. 求序列第K大算法总结
  5. poj 1228 Grandpa's Estate 给定了一个凸包的部分顶点和边上的点,判断是否能唯一确定一个凸包...
  6. 什么是 DNS 劫持、投毒、解析?看这文就懂了!
  7. C++ MFC WebBrowser 探索(二)
  8. 14、DNS正反向解析、主从复制、子域授权、区域转发 学习笔记
  9. Centos7(Ubuntu)密码登录失败锁定设置(亲测)
  10. centos7更改默认的python版本,安装python3.6.4
  11. Acwing - 最长公共子序列
  12. android微信认证失败怎么办,微信登陆好友头像验证失败该怎么办?
  13. 半年销售100万辆 关注比亚迪后300万时代
  14. Linux 编辑器 !强推!
  15. java 办公_Java003-协同办公OA
  16. vissim跟驰模型_vissim简介
  17. 农业产业化发展趋势下人力资源管理浅析
  18. 程序员如何用技术变现(上)
  19. 谁能教教我怎么学单片机,先学什么,怎么入门?
  20. 认知环境,环境对产品的影响无孔不入

热门文章

  1. 【计算机组成原理】冯诺伊曼结构和计算机性能指标
  2. 迭代、原型、螺旋、敏捷模型之间的区别
  3. layui菜鸟教程--乐字节前端
  4. AnimatedIcon
  5. 百度开晕,中国免费电商模式成定局
  6. CorelDraw论坛cdr2022V24.0.0301简体中文包
  7. EXCEL查找与引用函数
  8. asp.net nancy_如何在ASP.Net Core中使用Nancy
  9. 2023年春招热门笔试算法题(C++)
  10. 运算符、表达式和语句