当前位置: 移动技术网 > IT编程>移动开发>Android > Android实现图片浏览器示例

Android实现图片浏览器示例

2019年07月24日  | 移动技术网IT编程  | 我要评论

谢小利,罗江车祸,建筑容积率

本文所述为一个基础的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应用开发新手应该搞定的技巧。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网