WEB开发网
开发学院手机开发Android 开发 Android gallery实现图片的左右循环旋转源码分享 阅读

Android gallery实现图片的左右循环旋转源码分享

 2010-11-05 00:55:36 来源:WEB开发网   
核心提示:三步走:第一步初始化gallery时设置较大的初始化位置Gallery gallery = ((Gallery) findViewById(R.id.myGallery1));gallery.setAdapter(new ImageAdapter(this));gallery.setSelection(200);第二步

三步走:第一步初始化gallery时设置较大的初始化位置

Gallery gallery = ((Gallery) findViewById(R.id.myGallery1));

gallery.setAdapter(new ImageAdapter(this));

gallery.setSelection(200);

第二步:重写 BaseAdapter方法中的getCount时返回一个较大的值:

// 为了使资源循环使用

public int getCount()

{

return Integer.MAX_VALUE;

}

第三步:重写BaseAdapter时使用用position对集合大小取余的值,如下:

/* 取得目前欲显示的图像View,传入数组ID值使之读取与成像 */

public View getView(int position, View convertView, ViewGroup parent)

{

/* 创建一个ImageView对象 */

ImageView i = new ImageView(this.myContext);

i.setPadding(10, 10, 10, 10);

i.setAlpha(80);

// i.setImageResource(this.myImageIds[position]);

if(position<0){

position =position+myImageIds.length;

}

i.setImageResource(this.myImageIds[position% myImageIds.length]);

i.setScaleType(ImageView.ScaleType.FIT_XY);

i.setBackgroundResource(mGalleryItemBackground);

/* 设置这个ImageView对象的宽高,单位为dip */

i.setLayoutParams(new Gallery.LayoutParams(85, 72));

return i;

}

以下是该类的完整代码:

/* 依据距离中央的位移量 利用getScale返回views的大小(0.0f to 1.0f) */

Java代码

package irdc.ex03_15;

import android.app.Activity;

import android.content.Context;

import android.content.res.TypedArray;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.BaseAdapter;

import android.widget.Gallery;

import android.widget.ImageView;

import android.widget.TextView;

1 2 3  下一页

Tags:Android gallery 实现

编辑录入:coldstar [复制链接] [打 印]
赞助商链接