国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現圖片瀏覽器示例

2020-04-11 11:47:15
字體:
來源:轉載
供稿:網友

本文所述為一個基礎的Android圖片瀏覽器代碼,是仿寫Google原版實現的,代碼中實現了主要的實現過程和方法,具體的完善還需要自己添加,代碼中有很多注釋,可幫助新手們快速理解代碼,使用了部分圖像資源。

主要功能代碼如下:

package com.android.coding;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.Gallery.LayoutParams;import android.widget.ViewSwitcher.ViewFactory;import android.widget.ImageSwitcher;import android.widget.ImageView;public class ViewPicturesActivity extends Activity { ImageSwitcher imageSwitcher; //聲明ImageSwitcher對象,圖片顯示區域 Gallery gallery;       //聲明Gallery對象,圖片列表索引 int imagePosition;      //標記圖片數組下標,用于循環顯示 //聲明圖片整型數組 private int[] images = {  R.drawable.image1,R.drawable.image2,  R.drawable.image3,R.drawable.image4,  R.drawable.image5,R.drawable.image6,  R.drawable.image7,R.drawable.image8,  R.drawable.image9,R.drawable.image10,  R.drawable.image11,R.drawable.image12,  R.drawable.image13,R.drawable.image14,  R.drawable.image15,R.drawable.image16,  R.drawable.image17};   @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    //通過控件的ID獲得imageSwitcher的對象    imageSwitcher = (ImageSwitcher) findViewById(R.id.switcher);    //設置自定義的圖片顯示工廠類    imageSwitcher.setFactory(new MyViewFactory(this));    //通過控件的ID獲得gallery的對象    gallery = (Gallery) findViewById(R.id.gallery);    //設置自定義的圖片適配器    gallery.setAdapter(new ImageAdapter(this));     //實現被選中的事件監聽器    gallery.setOnItemSelectedListener(new OnItemSelectedListener() {          @Override  public void onItemSelected(AdapterView<?> parent, View view,   int position, long id) {  //通過求余數,循環顯示圖片  imageSwitcher.setImageResource(images[position%images.length]);    }  @Override  public void onNothingSelected(AdapterView<?> parent) {  // TODO Auto-generated method stub    } });      }    //自定義圖片適配器,繼承BaseAdapter  class ImageAdapter extends BaseAdapter{    private Context context; //定義上下文  //參數為上下文的構造方法 public ImageAdapter(Context context) {  this.context = context; }    //得到圖片的大小 @Override public int getCount() {  //設置為整型的最大數  return Integer.MAX_VALUE; } //得到指定圖片的對象 @Override public Object getItem(int position) {    return null; }  //得到指定圖片的對象的ID @Override public long getItemId(int position) {    return 0; } //顯示圖標列表 @Override public View getView(int position, View convertView, ViewGroup parent) {  ImageView iv = new ImageView(context); //創建ImageView對象  iv.setImageResource(images[position%images.length]);  //設置循環顯示圖片  iv.setAdjustViewBounds(true); //圖片自動調整顯示  //設置圖片的寬和高  iv.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));  return iv; //返回ImageView對象 }     }    //自定義圖片顯示工廠類,繼承ViewFactory  class MyViewFactory implements ViewFactory{ private Context context; //定義上下文  //參數為上下文的構造方法 public MyViewFactory(Context context) {  this.context = context; } //顯示圖標區域   @Override public View makeView() {  ImageView iv = new ImageView(context); //創建ImageView對象  iv.setScaleType(ImageView.ScaleType.FIT_CENTER); //圖片自動居中顯示  //設置圖片的寬和高  iv.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));  return iv; //返回ImageView對象 }     }  }

本文所述僅為其主要功能代碼部分,讀者可以對其進一步加以完善。由圖像查看器還可以擴展出很多實用的Android圖像操作功能,這些都是作為一個android應用開發新手應該搞定的技巧。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海淀区| 景德镇市| 麻阳| 博乐市| 平凉市| 天台县| 绥芬河市| 利辛县| 滦南县| 礼泉县| 石楼县| 庐江县| 马尔康县| 庆阳市| 方城县| 贵州省| 姜堰市| 南靖县| 家居| 邛崃市| 长丰县| 北辰区| 丰顺县| 麦盖提县| 三穗县| 健康| 康乐县| 陇西县| 丰镇市| 双峰县| 泾川县| 玉屏| 溧阳市| 东城区| 磴口县| 新源县| 洮南市| 于都县| 依兰县| 沙坪坝区| 黄山市|