实例4:幻灯片式图片浏览器
来源:互联网 发布:爱淘宝怎么开店 编辑:程序博客网 时间:2024/05/21 08:03
1、布局文件,一个图像切换器ImageSwitcher,一个画廊视图Gallery
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" android:id="@+id/llayout"><ImageSwitcher android:id="@+id/imageSwitcher1" android:layout_weight="2" android:paddingTop="30px" android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageSwitcher><Gallery android:id="@+id/gallery1" android:spacing="5px" android:layout_weight="1" android:unselectedAlpha="0.6" android:layout_width="match_parent" android:layout_height="wrap_content"/></LinearLayout>
2、在主活动MainAcitivity中,定义一个用于保存要显示图片id的数组和一个用于显示原始尺寸的图像切换器
private int[] imageId = new int[]{R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04};//定义并初始化保存图片id的数组private ImageSwitcher imageSwitcher;//声明一个图像切换器对象
3、在主活动的onCreate()方法中,获取在布局文件中添加控件
Gallery gallery = (Gallery)findViewById(R.id.gallery1);//获取Gallery组件 imageSwitcher = (ImageSwitcher)findViewById(R.id.imageSwitcher1);//获取图像切换器
4、为图像切换器设置淡入淡出的动画效果,然后为其设置一个ImageSwitcher.ViewFactory对象,并重写makeView()方法,最后为图像切换器设置默认显示的图像
//设置动画效果 imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));//设置淡入动画 imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));//设置淡出动画 imageSwitcher.setFactory(new ViewFactory() {@Overridepublic View makeView() {ImageView imageView = new ImageView(MainActivity.this);//实例化一个ImageView类的对象imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//设置保持纵横比居中缩放图像imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));return imageView;//返回imageView对象}});
5、创建BaseAdapter类的对象,并重写其中的getView()、getItemId()、getItem()和getCount()方法,其中最重要的是重写getView()方法来设置显示图片的样式
BaseAdapter adapter = new BaseAdapter() {@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView;//声明ImageView对象if(convertView == null){imageView = new ImageView(MainActivity.this);//实例化ImageView的对象imageView.setScaleType(ImageView.ScaleType.FIT_XY);//设置缩放方式imageView.setLayoutParams(new Gallery.LayoutParams(180,135));//styleable不知道什么鬼<span style="white-space:pre"></span>//TypedArray typedArray = obtainStyledAttributes(R.styleable.Gallery);<span style="white-space:pre"></span>//imageView.setBackground(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0));imageView.setPadding(5, 0, 5, 0);//设置ImageView的内边距}else{imageView = (ImageView)convertView;}imageView.setImageResource(imageId[position]);//为ImageView设置要显示的图片return imageView;//返回ImageView}/** * 功能:获取当前选项的id */@Overridepublic long getItemId(int position) {return position;}/** * 功能:获取当前选项 */@Overridepublic Object getItem(int position) {return position;}/** * 功能:获得数量 */@Overridepublic int getCount() {return imageId.length;}};
6、将步骤5中创建的适配器与Galery关联,并且选中中间的图片,为了将用户选择的图片显示到图像切换器中,还需要为Gallery添加OnItemSelectedListener事件监听器,再重写onItemSelected()方法,将选中的图片显示到图像切换器中
gallery.setAdapter(adapter);//将适配器与Gallery关联gallery.setSelection(imageId.length/2);//选中中间的图片gallery.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) {imageSwitcher.setImageResource(imageId[position]);//显示选中的图片}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {}});
0 0
- 实例4:幻灯片式图片浏览器
- 幻灯片式图片浏览器
- 幻灯片式图片浏览器
- Android幻灯片式图片浏览器
- Android幻灯片式图片浏览器
- Gallery实现幻灯片式的图片浏览器
- 幻灯片模式图片浏览器
- 【Android开发】范例2-实现幻灯片式图片浏览器
- JS 控制图片在浏览器上幻灯片式自动播放
- 菜鸟Android学习之路25——幻灯片式图片浏览器
- Jquery图片滚动与幻灯片的实例代码
- Android ImageSwitcher图片浏览器实例
- 古树幻灯片图片
- 随机幻灯片图片效果
- 图片幻灯片效果
- 幻灯片:循环播放图片
- UIImageView实现图片幻灯片
- UIImageView实现图片幻灯片
- 运输层—TCP的拥塞控制
- 支付宝 公共错误码 手机版 0000 系统错误
- redis开门见山
- RXAndroid Single的使用
- 226. Invert Binary Tree
- 实例4:幻灯片式图片浏览器
- SystemUI底部三个虚拟按键的背景颜色修改
- java的内存管理机制
- 算法的时间复杂度
- bzoj3141: [Hnoi2013]旅行
- jsp知识点
- 32c3 ctf writeup
- 全排列递归思想
- 结构化随机森林源码分析