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. 今日 Paper | 高效骨干搜索;学习扩充;最小人脸检测器;​DEPARA等
  2. Power Designer反向获取数据库物理模型时Unable to list the users.
  3. 【机器学习入门到精通系列】机器学习系统设计(Precision Recall)
  4. GAN——UNIT简单梳理
  5. [转]html超链接打开的窗口大小
  6. 互联网又一个变态条款 “奋斗者协议”
  7. win10系统用户:如何获得超级管理员权限(vue开发之Win10踩坑)
  8. Java集合系列之四大常用集合(ArrayList、LinkedList、HashSet、HashMap)的用法
  9. 有赞透明多级缓存解决方案(TMC)设计思路
  10. JavaWeb的Servlet、ServletContext
  11. Raki的统计学习方法笔记0x1章:统计学习及监督学习概论
  12. 通过Keytool 生成 Android 签名文件
  13. EC2(elastic compute cloud,弹性计算云,又称EC2实例)
  14. 如何检索综述类文献?
  15. 专业商标制作,免费logo在线设计
  16. cmd查看文件MD5码
  17. Github清除历史记录的方法
  18. 马蜂窝 iOS App 启动治理:回归用户体验
  19. B. Sereja and Mirroring
  20. Python不掉包实现矩阵分解及行列式转换,求秩等操作并使用QT可视化

热门文章

  1. 微信小程序开发的基本用法
  2. C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
  3. EF migration conflicted with foreign key constraint
  4. 字体反爬-汽车之家论坛
  5. java中IOException是什么异常
  6. 图像的 2DPCA 与 2D2DPCA 特征提取
  7. 最大公约数与最小公倍数( 初学Java 类与对象 )
  8. 干货:自助分析BI产品实践指南
  9. 肖特基二极管焊接注意事项和判断正负极的方法
  10. 计算机操作上机考试题目,计算机系统操作工上机操作考试题.pdf