当前位置: 首页 > 编程笔记 >

Android实现图片浏览器示例

乐正翰
2023-03-14
本文向大家介绍Android实现图片浏览器示例,包括了Android实现图片浏览器示例的使用技巧和注意事项,需要的朋友参考一下

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

 类似资料:
  • 本文向大家介绍Android实现幻灯片式图片浏览器,包括了Android实现幻灯片式图片浏览器的使用技巧和注意事项,需要的朋友参考一下 我们来实现一个幻灯片式图片浏览器: 最下面一个画廊视图,选中画廊中的图片,会在上面的ImageSwitcher控件中显示大图。 效果图如图 实现方法: 在布局文件中添加图片切换控件ImageSwitcher和画廊视图控件Gallery res/layout/mai

  • 本文向大家介绍Android开发实现的图片浏览功能示例【放大图片】,包括了Android开发实现的图片浏览功能示例【放大图片】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android开发实现的图片浏览功能。分享给大家供大家参考,具体如下: 效果图: 布局文件: 代码实现透明度改变: 更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《

  • 本文向大家介绍drag-and-drop实现图片浏览器预览,包括了drag-and-drop实现图片浏览器预览的使用技巧和注意事项,需要的朋友参考一下 今天刚试过chrome的drag and drop API,它能非常简单的将本地的图片放到浏览器中进行预览。试想一下当我们把一个文图片拖拽到浏览器里会发生什么事情,你的浏览器试图打开一个新的页面并加载这个图片。现在我不想浏览器这样帮我处理图片,我希

  • 使用图片浏览器,你需要在 sm.js 和 sm.css 之后额外引入如下两个文件: <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm-extend.min.css"> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-exte

  • 本文向大家介绍Android自定义Gallery控件实现3D图片浏览器,包括了Android自定义Gallery控件实现3D图片浏览器的使用技巧和注意事项,需要的朋友参考一下 本篇文章主要介绍如何使用自定义的Gallery控件,实现3D效果的图片浏览器的效果。 话不多说,先看效果。 上面是一个自定义的Gallery控件,实现倒影和仿3D的效果,下面是一个图片查看器,点击上面的小图片,可以在下面查看

  • 图片浏览器是一个像iOS图片浏览器一样用来展示图片的组件。图片可以被缩放或者平移 (可选)。 图片浏览器使用 幻灯片组件来展现图片。 创建一个图片浏览器实例 图片浏览器只需通过javaScript就可以被创建和初始化。我们需要使用App封装好的方法: myApp.photoBrowser(parameters) - 带参初始化图片浏览器 parameters - object - 图片浏览器参数对