gpt4 book ai didi

Android实现图片浏览器示例

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Android实现图片浏览器示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文所述为一个基础的Android图片浏览器代码,是仿写Google原版实现的,代码中实现了主要的实现过程和方法,具体的完善还需要自己添加,代码中有很多注释,可帮助新手们快速理解代码,使用了部分图像资源.

主要功能代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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实现图片浏览器示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com