`

Gallery组件实现循环显示图像

阅读更多
/*让Galllery循环播放的方法
* 1. 使getCount方法返回一个很大的值。建议返回Integer.MAX_VALUE,这个值可以到达20亿多。
* 2. 在getView方法中通过取余来循环取得resIds数组中的图像资源ID。
* 3.循环Gallery参考http://blog.csdn.net/herryz/article/details/6141957
*/

并修正其中的一个bug。

直接贴代码:
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

public class App extends Activity {
	private Integer[] imgs = {
					R.drawable.photo1,
					R.drawable.photo2,
					R.drawable.photo3,
					R.drawable.photo4,
					R.drawable.photo5,
					R.drawable.photo6,
					R.drawable.photo7,
					R.drawable.photo8
					};
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Gallery g = (Gallery) findViewById(R.id.gallery);
        g.setAdapter(new ImageAdapter(this));
        g.setOnItemClickListener(new Gallery.OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				// TODO Auto-generated method stub
				Log.i("tag", "position==="+position);
			}
		});
    }
    class ImageAdapter extends BaseAdapter{
    	private Context context;
    	ImageAdapter(Context context){
    		this.context=context;
    	}
		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return Integer.MAX_VALUE;//返回无限多个
		}
		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return imgs[position%imgs.length];//修正!
		}
		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position%imgs.length;//修正!
		}
		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
//			Log.i("tag", "position=="+getItemId(position));
			ImageView iv = new ImageView(context);
			iv.setImageResource(imgs[position%imgs.length]);//取余
			iv.setScaleType(ImageView.ScaleType.CENTER);
			iv.setLayoutParams(new Gallery.LayoutParams(150, 100));
			return iv;
		}
    }
}


viewpager实现循环滑动(向右)
http://www.eoeandroid.com/thread-164918-1-1.html

让Android自带的Gallery实现多点缩放,拖动和边界回弹效果,效果流畅
http://www.havenliu.com/android/668.html
分享到:
评论
13 楼 waitformyfriends 2015-12-17  
不错的东东!!!!
12 楼 strleng 2012-07-02  
strleng 写道

11 楼 strleng 2012-07-02  
strleng 写道
发撒的发生 飞洒地方

10 楼 strleng 2012-07-02  
发撒的发生 飞洒地方
9 楼 strleng 2012-07-02  
分撒旦发生的
8 楼 strleng 2012-07-02  
7 楼 strleng 2012-07-02  
  
6 楼 strleng 2012-07-02  
5 楼 strleng 2012-07-02  
4 楼 strleng 2012-07-02  
3 楼 strleng 2012-07-02  
                  
2 楼 strleng 2012-07-02  
  
1 楼 strleng 2012-07-02  
[/color][color=red][size=x-large][/size]

相关推荐

    Android可循环显示图像的Android Gallery组件用法实例

    为了实现循环显示,我们需要在`Adapter`的`getCount()`方法中返回一个比实际图像数量多一的值,同时在`getView()`方法中处理边界情况,使得当用户滚动到最后一张图像时,`Gallery`能显示第一张图像,反之亦然。...

    Gallery和imageSwitcher循环显示切换图像组件

    在Android开发中,展示图像的方式多种多样,其中`Gallery`和`ImageSwitcher`是两种常用的组件,尤其适用于实现图片的循环显示切换效果。这里,我们将深入探讨这两个组件的使用方法及其背后的原理。 首先,`Gallery`...

    Android Gallery 一次一张图片,可以循环显示,可显示当前为第几张图片

    总结一下,要实现“Android Gallery 一次一张图片,可以循环显示,可显示当前为第几张图片”的功能,你需要: 1. 自定义`Adapter`,处理边界条件,实现循环显示。 2. 添加文本视图显示图片序号,并在`...

    Gallery循环删除图片

    Gallery组件允许开发者设置一个适配器(如ArrayAdapter或CursorAdapter),适配器中包含一系列要展示的项。通过onItemSelectedListener监听器,可以监听到用户在Gallery上的选择变化。利用Adapter的...

    UI开发第七篇之Android gallery实现图片的循环旋转

    通过以上步骤,我们已经成功地实现了`Gallery`组件的图片循环旋转功能。在实际应用中,可以根据需求调整图片的间距、透明度、缩放方式等参数,以达到理想的展示效果。同时,为了优化性能,也可以考虑复用`...

    Android3D画廊Gallery实现无限循环和自动跳转

    通过以上步骤,我们能够构建一个功能丰富的3D Gallery组件,提供丰富的用户交互体验。这个过程涉及到Android UI组件的使用、自定义Adapter、图形处理、动画设计等多个方面,对提升Android开发技能有很大帮助。在实践...

    Android基于Gallery实现网络图片和本地图片循环播放

    1. **Android Gallery组件**: - Gallery是Android SDK提供的一种水平滚动的控件,可以用于展示一系列的图片或项目,用户可以左右滑动浏览。在旧版本的Android API中,Gallery是ViewGroup的一种,但在API 16后已被...

    Gallery实现广告循环

    在Android开发中,`Gallery`组件是一个非常实用的控件,常用于实现图片或广告的轮播效果。在本教程中,我们将深入探讨如何利用`Gallery`来创建一个广告循环展示的功能。 首先,`Gallery`是Android SDK提供的一种...

    Gallery实现无线循环代码

    在Android开发中,`Gallery`组件是一个非常有用的控件,它允许用户在多个项目中进行水平滑动选择,常用于图片浏览或者下拉菜单等场景。然而,原生的`Gallery`组件并不支持无限循环的功能,也就是说,当用户在最后一...

    可左右循环滑动的gallery图片轮播demo

    总的来说,"可左右循环滑动的gallery图片轮播demo"是一个实现图片轮播功能的实例,它结合了滑动效果、循环逻辑和自动切换,是移动应用开发中一个实用且常见的组件。通过分析和理解这个组件的实现,开发者可以学习到...

    UI开发之Android gallery实现图片的循环旋转

    通过以上步骤,我们成功实现了Android `Gallery`组件的图片循环旋转功能。这种方法充分利用了`BaseAdapter`的机制,结合适当的初始化设置和数据处理,为用户提供了流畅的无限滚动体验。在实际应用中,可以根据需求...

    Android循环显示图片代码

    下面我们将详细探讨如何在Android中实现一个循环显示图片的功能。 首先,我们需要一个可以滚动的视图来展示图片,最常见的选择是使用`ViewPager`。`ViewPager`是Android支持库中的一个组件,它可以左右滑动浏览多个...

    android Gallery 3d实现无限循环播放 用做广告板最后了

    在Android开发中,`Gallery`组件是一个非常有用的控件,它可以用来展示一系列的图片或其它内容,用户可以左右滑动来浏览。然而,原生的`Gallery`在Android API Level 16(Jelly Bean)之后已被废弃。尽管如此,...

    Gallery无限循环.zip

    "Gallery无限循环.zip"这个压缩包文件的名字暗示了它可能包含一个关于Android应用程序开发的项目,特别是与图像展示相关的部分,比如一个图片画廊应用。在这个应用中,"Gallery"通常指的是用户可以浏览并循环查看...

    无限循环滑动gallery

    Gallery组件曾是Android SDK的一部分,但在后来的版本中被弃用,取而代之的是ViewPager。然而,开发者依然可以通过自定义组件来实现类似的功能。 **无限循环滑动**的概念是当用户滑动到列表的末尾时,内容会无缝地...

    android 循环gallery 选中时图片放大 可按钮控制左右

    通过以上步骤,我们成功地实现了Android Gallery组件的循环滚动、图片选中放大以及左右按钮控制切换的功能,同时还为选中图片添加了弹出动画效果。在实际项目中,可能还需要根据具体需求进行优化,例如添加图片加载...

    无限自动循环的gallery 可以点击

    1. **无限循环**:原生的`Gallery`组件并不支持无限循环,但通过开发者们的智慧,可以通过巧妙地重置数据源和设置适配器来实现这一功能。当用户在最后一张图片向左滑动时,会显示第一张图片;反之,从第一张图片向右...

    android gallery图片轮播

    Gallery组件是Android SDK早期版本提供的一种视图控件,它允许用户在一个水平滚动的列表中查看项目,非常适合实现图片轮播功能。然而,在Android 4.0(API级别14)之后,Gallery组件已被弃用,开发者需要寻找其他...

Global site tag (gtag.js) - Google Analytics