Android 中的ImageSwitcher 和Gallery结合使用
2012-02-24 01:27
465 查看
(1)gallery 即绑定一个adapter 即可。
(2)Activity 实现ViewFactory。并实现其中的构造方法
makeView();。这个方法主要是返回一个view对象。并为switcher设置imageSwitcher.setFactory(this);--这个Factory 是用来切换ImageSwitcher的view的。
实现OnItemSelectedListener为gallery重写
onNothingSelected();
onItemSelected();
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/30/43d7c2475ea0aacffb4fb1373506b888.gif)
(2)Activity 实现ViewFactory。并实现其中的构造方法
makeView();。这个方法主要是返回一个view对象。并为switcher设置imageSwitcher.setFactory(this);--这个Factory 是用来切换ImageSwitcher的view的。
实现OnItemSelectedListener为gallery重写
onNothingSelected();
onItemSelected();
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/30/43d7c2475ea0aacffb4fb1373506b888.gif)
package com.bsn.cc; 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.view.animation.AnimationUtils; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.Gallery.LayoutParams; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.ViewSwitcher.ViewFactory; public class ImageSwitcherActivity extends Activity implements OnItemSelectedListener,ViewFactory{ private Gallery gallery; private ImageSwitcher imageSwitcher; private ImageAdapter imageAdapter; private int []resId={ R.drawable.item1, R.drawable.item2, R.drawable.item3, R.drawable.item4, R.drawable.item5, R.drawable.item6, R.drawable.item7, R.drawable.item8, R.drawable.item9, R.drawable.item10, R.drawable.item11, R.drawable.item12, R.drawable.item13, R.drawable.item14, R.drawable.item15 }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gallery = (Gallery) findViewById(R.id.dddd); imageAdapter = new ImageAdapter(this); gallery.setAdapter(imageAdapter); gallery.setOnItemSelectedListener(this); imageSwitcher = (ImageSwitcher) findViewById(R.id.imageswitcher); imageSwitcher.setFactory(this); imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out)); } private class ImageAdapter extends BaseAdapter{ int mGalleryItemBackground; private Context mContext; public ImageAdapter(Context context) { mContext = context; // 这里为自定义属性R.styleable.Gallery ..中的属性定义的是gallery的默认边框 TypedArray typedArray = 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 arg0) { // TODO Auto-generated method stub return arg0; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView=new ImageView(mContext); imageView.setImageResource(resId[position]); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setLayoutParams(new Gallery.LayoutParams(136,88)); imageView.setBackgroundResource(mGalleryItemBackground); return imageView; } } @Override public View makeView() { ImageView imageView = new ImageView(this); imageView.setBackgroundColor(0xFF000000); imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setLayoutParams(new ImageSwitcher.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); return imageView; } @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { imageSwitcher.setImageResource(resId[arg2 % resId.length]); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }
相关文章推荐
- Gallery与ImageSwitcher结合使用
- Android中Gallery和ImageSwitcher的使用
- Gallery 与ImageSwitcher的结合使用
- Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
- 【Android 界面效果30】Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
- android常用UI使用案例:ImageSwitcher和Gallery
- Android之Gallery和ImageSwitcher结合的用法
- 【Android 界面效果30】Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
- Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
- Android-Gallery GridView ImageSwitcher 使用
- Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
- Gallery 与ImageSwitcher的结合使用
- Gallery和imageSwitcher结合使用浏览图片(简单图片浏览器)
- Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
- Android中ImageSwitcher结合Gallery展示SD卡中的资源图片(1)
- Android实用笔记——使用Gallery和ImageSwitcher制作图片浏览器
- Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
- Android中Gallery和ImageSwitcher的使用
- Android入门(36)——第十三章 使用Gallery和ImageSwitcher制作图片浏览器
- Android中ImageSwitcher结合Gallery展示SD卡中的资源图片