a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統(tǒng) > Android > 正文

Android入門之Gallery用法實例解析

2020-04-11 11:46:34
字體:
供稿:網(wǎng)友

本文實例介紹的Android的Gallery控件是個很不錯的看圖控件,可以大大減輕開發(fā)者對于看圖功能的開發(fā),并且效果也很美觀。本文實例中的Gallery的用法,主要實現(xiàn)用反射機制來動態(tài)讀取資源中的圖片。

該實例代碼運行的效果圖如下:

 

main.xml源碼如下:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent"   > <Gallery android:id="@+id/gallery" android:layout_height="fill_parent" android:layout_width="fill_parent"></Gallery> </LinearLayout>

Java程序源碼如下:

package com.testImageView;  import java.lang.reflect.Field; import java.util.ArrayList;  import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; import android.widget.AdapterView.OnItemClickListener;  public class testImageView extends Activity {   private Gallery mGallery;   @Override   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);          mGallery = (Gallery)findViewById(R.id.gallery);     try {       mGallery.setAdapter(new ImageAdapter(this));     } catch (IllegalArgumentException e) {       // TODO Auto-generated catch block       e.printStackTrace();     } catch (IllegalAccessException e) {       // TODO Auto-generated catch block       e.printStackTrace();     }     mGallery.setOnItemClickListener(new OnItemClickListener() {       public void onItemClick(AdapterView parent, View v, int position, long id) {         testImageView.this.setTitle(String.valueOf(position));       }     });   }      /*    * class ImageAdapter is used to control gallery source and operation.    */   private class ImageAdapter extends BaseAdapter{     private Context mContext;     private ArrayList<Integer> imgList=new ArrayList<Integer>();     private ArrayList<Object> imgSizes=new ArrayList<Object>();     public ImageAdapter(Context c) throws IllegalArgumentException, IllegalAccessException{       mContext = c;              //用反射機制來獲取資源中的圖片ID和尺寸       Field[] fields = R.drawable.class.getDeclaredFields();       for (Field field : fields)       {         if (!"icon".equals(field.getName()))//除了icon之外的圖片         {             int index=field.getInt(R.drawable.class);           //保存圖片ID           imgList.add(index);           //保存圖片大小           int size[]=new int[2];           Bitmap bmImg=BitmapFactory.decodeResource(getResources(),index);           size[0]=bmImg.getWidth();size[1]=bmImg.getHeight();           imgSizes.add(size);         }       }     }     @Override     public int getCount() {       // TODO Auto-generated method stub        return imgList.size();     }      @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) {       // TODO Auto-generated method stub        ImageView i = new ImageView (mContext);       //從imgList取得圖片ID       i.setImageResource(imgList.get(position).intValue());       i.setScaleType(ImageView.ScaleType.FIT_XY);       //從imgSizes取得圖片大小       int size[]= new int[2];       size=(int[]) imgSizes.get(position);       i.setLayoutParams(new Gallery.LayoutParams(size[0], size[1]));       return i;     }        }; }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 免费观看性欧美大片无片 | 精品99久久 | 久久高潮| 一区二区不卡 | 好硬好涨老师受不了了视频 | 国产免费av在线 | 亚洲精品久久久蜜桃 | 日批的视频 | 中文字幕av一区 | 精品久 | 国产免费黄网站 | 国产精品中文字幕在线播放 | 99久久99久久免费精品蜜臀 | 日韩精品久久理论片 | 久久久精彩视频 | 91精彩视频在线观看 | 日韩和欧美的一区二区 | 亚洲一区二区三区四区在线观看 | 国产精品网址 | 曰本人一级毛片免费完整视频 | 精品免费在线视频 | 天天天天天天操 | 亚洲黄色性视频 | 国产精品视频免费 | 免费黄色成人 | 国产午夜久久久久 | 精品国产乱码久久 | 欧美一区二区三区在线观看 | 久久久久久一区 | 亚洲欧美中文日韩v在线观看 | 亚洲一级图片 | 国产韩国精品一区二区三区 | 久久99精品久久久 | 日韩精品视频免费专区在线播放 | 欧美午夜视频 | 日韩欧美国产一区二区 | 国产精品人成在线播放新网站 | 亚洲国产精品第一区二区 | 一区二区三区四区在线 | 久久国产精品99久久久久久老狼 | 欧美一级二级视频 |