Gallery:动态图片的滚动效果;
用imageSwitch来做详细图片的浏览即大图预览;与imageView相似,但可以指定图片切换的动画效果;
Gallery已经不推荐使用了;推荐使用横向的scrollView或ViewPager;
步骤:
第一步(数据源):创建一个int数组,来记录图片的id;
第二步:在xml文件中创建gallery控件;创建gallery对象,并完成初始化操作;
第三步(准备自定义适配器):创建一个adapter的类,继承自BaseAdapter,重写构造方法,传入数据源和上下文信息(context),实现类的方法:
getCount()
{
return res.length;
}
getItem(int position)
{
return res[position];为
}
getItemId(int position)
{
return position;
}
getView(int position , View convertView, ViewGroup )
{
ImageView image = new ImageView(context);
image.setBackgroundResource(res[position]);
image.setLayoutParams(new Gallery.ayoutParams(w,h));
//设置缩略图的宽高信息;
image.setScaleType(ScaleType.FIT_XY);
//设置缩略图;
return image;
}
第三步:声明数据适配器,实例化并传入两个参数,让Gallery加载适配器;
第四步:创建一个gallery的监听器onItemSelectedListener();在onItemSelected()中;
设置Gallery的无限循环:在adapter的类中,修改getCount的返回值return Integer.MAX_VALUE;在修改getView中的position参数:令position=position%res.length;
创建ImageSwitcher:
创建ImageSwitcher控件,声明并初始化ImageSwitcher;implements ViewFactory,实现makeView方法;调用imageSwitcher的方法setFactory(this);
view makeView()
{
ImageView image = new ImageView(this);
image.setScaleType(ScaleType.FIT_CENTER);//等比例缩放;
return image;
}
在onItemSelected()实现ImageSwitcher.setBackgroundResource(res[position%res.length]);在onCreate中设置imageSwitcher的动画setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));//淡入的效果;
setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
自定义数据适配器:自由度与灵活度更大;
用imageSwitch来做详细图片的浏览即大图预览;与imageView相似,但可以指定图片切换的动画效果;
Gallery已经不推荐使用了;推荐使用横向的scrollView或ViewPager;
步骤:
第一步(数据源):创建一个int数组,来记录图片的id;
第二步:在xml文件中创建gallery控件;创建gallery对象,并完成初始化操作;
第三步(准备自定义适配器):创建一个adapter的类,继承自BaseAdapter,重写构造方法,传入数据源和上下文信息(context),实现类的方法:
getCount()
{
return res.length;
}
getItem(int position)
{
return res[position];为
}
getItemId(int position)
{
return position;
}
getView(int position , View convertView, ViewGroup )
{
ImageView image = new ImageView(context);
image.setBackgroundResource(res[position]);
image.setLayoutParams(new Gallery.ayoutParams(w,h));
//设置缩略图的宽高信息;
image.setScaleType(ScaleType.FIT_XY);
//设置缩略图;
return image;
}
第三步:声明数据适配器,实例化并传入两个参数,让Gallery加载适配器;
第四步:创建一个gallery的监听器onItemSelectedListener();在onItemSelected()中;
设置Gallery的无限循环:在adapter的类中,修改getCount的返回值return Integer.MAX_VALUE;在修改getView中的position参数:令position=position%res.length;
创建ImageSwitcher:
创建ImageSwitcher控件,声明并初始化ImageSwitcher;implements ViewFactory,实现makeView方法;调用imageSwitcher的方法setFactory(this);
view makeView()
{
ImageView image = new ImageView(this);
image.setScaleType(ScaleType.FIT_CENTER);//等比例缩放;
return image;
}
在onItemSelected()实现ImageSwitcher.setBackgroundResource(res[position%res.length]);在onCreate中设置imageSwitcher的动画setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));//淡入的效果;
setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
自定义数据适配器:自由度与灵活度更大;