import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.FrameLayout.LayoutParams;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
import com.stone.R;
import com.stone.inject.InjectView;
import com.stone.inject.Injector;
import com.stone.util.DialogUtil;
public class GalleryTestActivity extends Activity implements ViewFactory {
@InjectView(R.id.gy_gallery)
private Gallery gallery; //水平方向 显示一组图片
@InjectView(R.id.is_switcher)
private ImageSwitcher imageSwitcher;//一次只能显示一张图
private int[] imagesIds = {
R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5,R.drawable.a6,R.drawable.a7, //
R.drawable.a8 };
ImageView lastView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery);
Injector.get(this).inject();//init views
//factory 只能设置 一个
this.imageSwitcher.setFactory(GalleryTestActivity.this); //设置 factory
ImageAdapter adapter = new ImageAdapter(this);
this.gallery.setAdapter(adapter);
this.gallery.setBackgroundColor(Color.CYAN);
this.gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (lastView!=null) {
lastView.setLayoutParams(new Gallery.LayoutParams(120,120));
lastView.setScaleType(ImageView.ScaleType.FIT_CENTER);
}
ImageView view2 = (ImageView) view;
view2.setLayoutParams(new Gallery.LayoutParams(200,Gallery.LayoutParams.FILL_PARENT));
view2.setScaleType(ImageView.ScaleType.FIT_CENTER);
lastView = view2;
DialogUtil.showToast(GalleryTestActivity.this, "选择的图片位置是:" + position);
imageSwitcher.setImageResource(imagesIds[position]);
}
});
}
private class ImageAdapter extends BaseAdapter {
private Context context;
public ImageAdapter(Context context) {
this.context = context;
}
@Override
public int getCount() {
return imagesIds.length;
}
@Override
public Object getItem(int position) {
return 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(imagesIds[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(120,120));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageView;
}
}
@Override // android.widget.ViewSwitcher. makeView()
public View makeView() {
ImageView imageView = new ImageView(this);
imageView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageView;
}
}
gallery.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Gallery
android:id="@+id/gy_gallery"
android:layout_width="fill_parent"
android:spacing="20dp"
android:animationDuration="2000"
android:layout_height="wrap_content" />
<ImageSwitcher
android:id="@+id/is_switcher"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
效果图:
分享到:
相关推荐
android Gallery + ImageSwitcher
Android Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.zip
Android利用Gallery和ImageSwitcher实现在线相册图片预览功能(异步加载图片)
Android中Gallery和ImageSwitcher同步自动(滚动)播放图片库
Gallery和ImageSwitcher同步自动(滚动)播放图片库
Android利用Gallery和ImageSwitcher实现在线相册图片预览功能(异步加载图片).rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
-Android利用Gallery和ImageSwitcher实现在线相册图片预览功能(异步加载图片).zip
Android高级应用源码-Android利用Gallery和ImageSwitcher实现在线相册图片预览功能(异步加载图片).zip
Android应用源码之Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.zip
安卓Android源码——Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.zip
安卓Android源码——Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.rar
今天小编就为大家分享一篇关于Android中Gallery和ImageSwitcher的使用实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Android入门第十三篇之Gallery + ImageSwitcher.docx
Android应用源码之Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.zip项目安卓应Android应用源码之Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.zip项目安卓应 1.适合学生毕业设计研究参考 2....
Android中的Gallery和Imageswitcher组件 是提供图像的缩图和浏览功能。图像是目前手机上很常见的一种资源。
主要介绍了Android入门之Gallery+ImageSwitcher用法,对Android初学者有很好的参考借鉴价值,需要的朋友可以参考下
Android应用源码之Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果_壁纸
gallery+imageswitcher滑动切换照片简单demo
Gallery+ImageSwitcher组合显示图片