多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > [置頂] Android GridView的使用方法

[置頂] Android GridView的使用方法

來源:程序員人生   發布時間:2014-11-11 08:40:37 閱讀次數:3086次

Android的GridView控件用于把1系列的空間組織成1個2維的網格顯示出來 利用的比較多的就是組合圖片顯示 下面我就詳細講1個例子

首先寫1個類繼承BaseAdapter

[java] view plaincopy

  1. public class ImageList extends BaseAdapter {  

  2.       

  3.         public Bitmap[] image;  

  4.         Activity activity;  

  5.           

  6.         // construct  

  7.         public ImageList(Activity a) {  

  8.             activity = a;  

  9.         }  

  10.         @Override  

  11.         public int getCount() {  

  12.             // TODO Auto-generated method stub  

  13.             return image.length;  

  14.         }  

  15.         @Override  

  16.         public Object getItem(int position) {  

  17.             // TODO Auto-generated method stub  

  18.             return image[position];  

  19.         }  

  20.         @Override  

  21.         public long getItemId(int position) {  

  22.             // TODO Auto-generated method stub  

  23.             return position;  

  24.         }  

  25.         public View getView(int position, View convertView, ViewGroup parent) {  

  26.             // TODO Auto-generated method stub  

  27.             ImageView imageView;  

  28.             if (convertView == null) {  

  29.                 imageView = new ImageView(activity);  

  30.                 imageView.setLayoutParams(new GridView.LayoutParams(50, 50));// 設置ImageView寬高  

  31.                 imageView.setAdjustViewBounds(false);  

  32.                 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);  

  33.                   

  34.             } else {  

  35.                 imageView = (ImageView) convertView;  

  36.             }  

  37.             imageView.setImageBitmap(image[position]);  

  38.               

  39.             return imageView;  

  40.         }  

  41.         public static Bitmap drawableToBitmap(Drawable drawable) {    

  42.                 

  43.             Bitmap bitmap = Bitmap    

  44.                             .createBitmap(    

  45.                                             drawable.getIntrinsicWidth(),    

  46.                                             drawable.getIntrinsicHeight(),    

  47.                                             drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888    

  48.                                                             : Bitmap.Config.RGB_565);    

  49.             Canvas canvas = new Canvas(bitmap);    

  50.             drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());    

  51.             drawable.draw(canvas);    

  52.             return bitmap;    

  53.     }    

  54.     }  

然后在主程序里

[c-sharp] view plaincopy

  1. final GridView gv = (GridView) findViewById(R.id.grid);  

  2.                 ImageList adapter = new ImageList(available.this);  

  3.                 Resources res=getResources();    

  4.                 Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.logo);    

  5.                 adapter.image=new Bitmap[20];  

  6.                 for(int i=0;i<=19;i++)  

  7.                 {  

  8.                     adapter.image[i]=bmp;  

  9.                 }  

  10. gv.setAdapter(adapter);  

  11.                 gv.setOnItemClickListener(new OnItemClickListener() {  

  12.                     @Override  

  13.                     public void onItemClick(AdapterView<?> arg0, View arg1,  

  14.                             int arg2, long arg3) {  

  15.                         // TODO Auto-generated method stub  

  16.                         Log.i("phb", arg2 + "");  

  17.                         Log.i("phbsel",gv.isFocused()+"");  

  18.                         Intent i=new Intent(available.this, com.mobile.links.shop.mycx.shopcart.class);  

  19.                         startActivity(i);  

  20.                     }  

  21.                 });  

  22.                gv.setOnItemSelectedListener(new OnItemSelectedListener(){  

  23.                 @Override  

  24.                 public void onItemSelected(AdapterView<?> arg0, View arg1,  

  25.                         int arg2, long arg3) {  

  26.                     // TODO Auto-generated method stub  

  27.                     Log.i("selected",arg2+"");  

  28.                     tv.setText(arg2+":detail");  

  29.                 }  

  30.                 @Override  

  31.                 public void onNothingSelected(AdapterView<?> arg0) {  

  32.                     // TODO Auto-generated method stub  

  33.                       

  34.                 }  

  35.                      

  36.                });  

  37.                   

其中onClick函數是判斷被點擊

而onSelect函數是判斷被選中 也就是取得焦點的imageview

這樣我們就能夠基于gridview來做1些利用了。

構建gridview的xml代碼

[c-sharp] view plaincopy

  1. <?xml version="1.0" encoding="utf⑻"?>  

  2. <LinearLayout  

  3. android:id="@+id/relativelayout"  

  4. android:layout_width="fill_parent"  

  5. android:layout_height="fill_parent"  

  6. xmlns:android="http://schemas.android.com/apk/res/android"  

  7. android:orientation="vertical"  

  8. >  

  9. <GridView android:id="@+id/availgrid"   

  10.   android:layout_width="fill_parent"   

  11.   android:layout_height="wrap_content"   

  12.   android:numColumns="4"   

  13.   android:verticalSpacing="30dp"   

  14.   android:layout_centerHorizontal = "true"  

  15.     

  16.   />   

  17.    

  18.    

  19. </LinearLayout>  

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美综合视频在线 | 大香久久 | 亚洲性色成人 | 欧美性色黄大片www喷水 | 自拍偷拍一区 | 亚洲无av码一区二区三区 | 欧美高清性刺激毛片 | 12306播播影视播播影院午夜 | 欧美三级小视频 | 久久国产精品免费视频 | 目韩一区二区三区系列片丶 | 国产一区二区三区亚洲欧美 | 国产成人+综合亚洲+天堂 | 欧美日韩中文一区 | 成人偷拍自拍 | 成人国产精品一级毛片了 | 偷拍自拍校园春色 | 日韩欧美一区二区三区中文精品 | 女bbbbxxxx毛片视频0 | 中文字幕视频免费在线观看 | 日本免费xxxx色视频 | 成人精品一区二区www | 亚洲午夜久久久精品影院 | 亚洲欧美日韩精品久久 | 亚洲图片小说网 | 欧美国产亚洲18 | 精品一区二区三区在线视频观看 | 免费网站在线播放 | 中文字幕在线观看 | 性欧美黑人巨大videos | 日本怡春院欧美一区二区三区 | 免费观看男女羞羞的视频网站 | 欧美成人免费高清二区三区 | 亚洲综合免费 | 欧美国一级毛片片aa | 精品视频网站 | 亚洲自拍偷拍专区 | 日本不卡免费在线 | 日本一二三区在线视频 | 欧美综合在线播放 | 久久久久久久国产精品 |