Main
/*
* 图片浏览器
*/
public class MainActivity extends Activity implements ViewFactory{
private Gallery gallery;
private ImageSwitcher imageSwitcher;
private int[] imageid = new int[]{R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gallery =(Gallery) findViewById(R.id.gallery1);
imageSwitcher =(ImageSwitcher) findViewById(R.id.imageSwitcher);
GalleryAdapter galleryAdapter = new GalleryAdapter( this, imageid);
gallery.setAdapter(galleryAdapter);
imageSwitcher.setFactory( this);
//设置进入出去动画
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation( this, android.R.anim.fade_in));
imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation( this, android.R.anim.fade_out));
gallery.setOnItemClickListener( new OnItemClickListener() {
@Override
public void onItemClick(AdapterView < ? > parent, View view,
int position, long id) {
//position从1开始
imageSwitcher.setImageResource(imageid[position %imageid.length]);
}
});
}
@Override
public View makeView() {
ImageView imageView = new ImageView( this);
//设置imageswitch背景色
imageView.setBackgroundColor(0xFF000000);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageView;
}
}
* 图片浏览器
*/
public class MainActivity extends Activity implements ViewFactory{
private Gallery gallery;
private ImageSwitcher imageSwitcher;
private int[] imageid = new int[]{R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gallery =(Gallery) findViewById(R.id.gallery1);
imageSwitcher =(ImageSwitcher) findViewById(R.id.imageSwitcher);
GalleryAdapter galleryAdapter = new GalleryAdapter( this, imageid);
gallery.setAdapter(galleryAdapter);
imageSwitcher.setFactory( this);
//设置进入出去动画
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation( this, android.R.anim.fade_in));
imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation( this, android.R.anim.fade_out));
gallery.setOnItemClickListener( new OnItemClickListener() {
@Override
public void onItemClick(AdapterView < ? > parent, View view,
int position, long id) {
//position从1开始
imageSwitcher.setImageResource(imageid[position %imageid.length]);
}
});
}
@Override
public View makeView() {
ImageView imageView = new ImageView( this);
//设置imageswitch背景色
imageView.setBackgroundColor(0xFF000000);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageView;
}
}
Adapter
public
class GalleryAdapter
extends BaseAdapter{
private Context context;
private int[] imageid;
int mGalleryItemBackground;
public GalleryAdapter(Context context, int[] imageid) {
this.context =context;
this.imageid =imageid;
//图像的显示风格
TypedArray typedArray = context.obtainStyledAttributes(R.styleable.Gallery);
mGalleryItemBackground = typedArray.getResourceId(
R.styleable.Gallery_android_galleryItemBackground, 0);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public Object getItem( int position) {
return imageid[position];
}
@Override
public long getItemId( int position) {
return position;
}
@Override
public View getView( int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(context);
imageView.setImageResource(imageid[position %imageid.length]);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
}
private Context context;
private int[] imageid;
int mGalleryItemBackground;
public GalleryAdapter(Context context, int[] imageid) {
this.context =context;
this.imageid =imageid;
//图像的显示风格
TypedArray typedArray = context.obtainStyledAttributes(R.styleable.Gallery);
mGalleryItemBackground = typedArray.getResourceId(
R.styleable.Gallery_android_galleryItemBackground, 0);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public Object getItem( int position) {
return imageid[position];
}
@Override
public long getItemId( int position) {
return position;
}
@Override
public View getView( int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(context);
imageView.setImageResource(imageid[position %imageid.length]);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
}
res/values/attrs.xml
<?xml version=
"1.0" encoding=
"utf-8"?>
<resources>
< declare-styleable name= "Gallery">
<attr name= "android:galleryItemBackground" />
</ declare-styleable>
</resources>
<resources>
< declare-styleable name= "Gallery">
<attr name= "android:galleryItemBackground" />
</ declare-styleable>
</resources>
实现gallery无限循环,点击item,在imageswitch显示图片