即興的靈感

          思維是一種藝術; 藝術需要靈感。

          博客好友

          最新評論

          使用Gallery實現縮略圖瀏覽器

          我們有時候在iPhone手機上或者Windows上面看到動態的圖片,可以通過鼠標或者手指觸摸來移動它,產生動態的圖片滾動效果,還可以根據你的點擊或者觸摸觸發其他事件響應。同樣的,在Android中也提供這這種實現,這就是通過Gallery在UI上實現縮略圖瀏覽器。

           

          我們來看看Gallery是如何來實現的,先把控件綁架出來,從哪里綁架?控件當然藏在布局文件中,這個首先需要在UI布局中聲明,這里就不再贅述,只需知道ID為gallery。

          Gallery gallery = (Gallery) findViewById(R.id.gallery);

          一般情況下,我們在Android中要用到類似這種圖片容器的控件,都需要為它指定一個適配器,讓它可以把內容按照我們定義的方式來顯示,因此我們來給它加一個適配器,至于這個適配器如何實現,后面接著來操作,這里只需知道這個適配器的類叫ImageAdapter。

          gallery.setAdapter(new ImageAdapter(this));

          接下來就是重頭戲了,適配器可以說是最重要的,我們來看看如何做?到這里似乎還缺少一些很重要的東西?什么東西呢?我們需要顯示的是圖片,那么圖片我們當然首先要準備好,這里我們準備了5張圖片(存放drawable文件夾中),我們用其IDs做索引,以便在適配器中使用。

          private Integer[] mps = {
              R.drawable.icon1,
              R.drawable.icon2,
              R.drawable.icon3,
              R.drawable.icon4,
              R.drawable.icon5
          };

          OK,這里將開始定義適配器了,通過繼承BaseAdapter用以實現的適配器。

          public class ImageAdapter extends BaseAdapter {
             private Context mContext;
             public ImageAdapter(Context context) {
             mContext = context;
             }
             public int getCount() { 
                return mps.length;
             }
             public Object getItem(int position) {
                return position;
             }
             public long getItemId(int position) {
                return position;
             }
             public View getView(int position, View convertView, ViewGroup parent) {
                ImageView image = new ImageView(mContext);
                image.setImageResource(mps[position]);
                image.setAdjustViewBounds(true);
                image.setLayoutParams(new Gallery.LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
                return image;
                }
          }

          至此,整個Gallery基本都是先完成了,我們還需要為它添加一個監聽器,否則這個縮略圖瀏覽器就僅僅只可以看不能用了。

          gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
              @Override
              public void onItemSelected(AdapterView<?> parent, View v,int position, long id) {
                  //顯示提示框“隨時隨地,即興時代,ATAAW.COM!”
              }
              @Override
              public void onNothingSelected(AdapterView<?> arg0) {
              //這里不做響應
              }
          });

          文章地址

          ?
          鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
          ???? 隱姓埋名/低調華麗/簡單生活/完美人生

          posted on 2010-04-03 15:00 poetguo 閱讀(1392) 評論(0)  編輯  收藏 所屬分類: Android

          主站蜘蛛池模板: 安顺市| 恩平市| 津市市| 航空| 昌图县| 龙川县| 乌兰浩特市| 乌拉特中旗| 安多县| 额尔古纳市| 绵竹市| 汉川市| 青海省| 军事| 太仆寺旗| 永平县| 庆城县| 温泉县| 乌拉特中旗| 栾川县| 临泉县| 杭锦旗| 密云县| 延吉市| 上饶市| 灯塔市| 长武县| 铅山县| 昌宁县| 英山县| 佛教| 全州县| 东光县| 岑溪市| 嘉禾县| 高雄市| 双鸭山市| 上蔡县| 延安市| 稻城县| 拉萨市|