首页 浅谈Android 图片浏览器的实现

浅谈Android 图片浏览器的实现

举报
开通vip

浅谈Android 图片浏览器的实现浅谈Android 图片浏览器的实现 浅谈Android 图片浏览器的实现 随着4G 时代的到来, 无线网络技术越来越成熟, 手机上的应用也越来越丰富, 为了承载数据应用及部署, 智能手机功能越来越强大, 越来越开放。手机除了基本的通信功能外,还拥有数码相机、摄像机等众多多媒体功能。智能手机用户存储器中存储了越来越多的相片、图片等多媒体素材, 浏览这些素材是用户的一种刚性需求, 因此具有图片浏览功能的应用在智能手机中成为一种必备的应用。 1 Android 操作系统 Android 是一款基于Linux 操作系...

浅谈Android 图片浏览器的实现
浅谈Android 图片浏览器的实现 浅谈Android 图片浏览器的实现 随着4G 时代的到来, 无线网络技术越来越成熟, 手机上的应用也越来越丰富, 为了承载数据应用及部署, 智能手机功能越来越强大, 越来越开放。手机除了基本的通信功能外,还拥有数码相机、摄像机等众多多媒体功能。智能手机用户存储器中存储了越来越多的相片、图片等多媒体素材, 浏览这些素材是用户的一种刚性需求, 因此具有图片浏览功能的应用在智能手机中成为一种必备的应用。 1 Android 操作系统 Android 是一款基于Linux 操作系统的一款开源操作系统,在智能手机和平板电脑等移动设备上有着广泛的使用。Android操作系统由谷歌和开放手机联盟领导及开发, 201X 年11月谷歌与多家硬件制造商、软件开发商及电信运营商组建开放手机联盟共同研发改良Android 系统。 201X 年Android 在第一季度全球市场份额超越塞班系统,居全球第一。201X 年第四季度, 全球市场份额达7 8.1%。201X年第一季度Android 平台已占所有移动广告流量来源的4 2.8%。 2 图片浏览器的实现 2.1 功能 Android 图片浏览器主要用于移动设备中各种图片资源的浏览。鉴于移动设备屏幕较小, 没有鼠标键盘等硬件设备,因而应用的操作方式会与Windows 等操作系统下的大不相同。通过Android 提供的一些替换方式, 既能实现相应功能, 又能具有很好的用户体验。 2.2 控件选用 在控件的选用上, 主要有两大部分: 图片浏览控件和用户操作控件。Android 提供了ImageSwitcher 控件, 主要用于多幅图片的显示, 能对图片进行一些如拉伸的常规处理, 开发时只要控制图片资源即可。Android 系统下用户操作基本通过触摸方式来实现, 早期版本通过Gallery 控件来实现图片的切换, 新版使用HorizontalScrollView 控件替换Gallery [4]来实现小图浏览与图片间的切换功能,当系统中图片较多时, 可能一行显示不下, 因而会在HorizontalScrollView 中嵌入一个 LinearLayout, 图片过多时, 用户可以通过触摸来浏览对应的小图。 2.3 UI 设计 图片浏览器不需要过于复杂的界面, 针对应用的主 要功能, 只需要提供图片浏览和用户操作两个部分, 通常可以将屏 幕分成两个区域。用户操作区域不宜过大, 否则会占用较多屏幕空 间导致图片浏览界面较小, 用户操作区域过小则用户操作起来不是 太方便。通常做法是将用户操作区域高度设置为60dp, 放置在屏幕 下方, 宽度与屏幕宽度相同,在某些情况下还可以将该区域隐藏起 来, 加大图片浏览区域的面积。整体界面可以选用线性布局, 整个 布局中上下两个控件HorizontalScrollView 固定高度, 剩余空间 通过设置ImageSwitcher控件的权重由ImageSwitcher 控件铺满。 界面对应布局文件代码如下: LinearLayout xmlns:android= schemas.android./apk/res/android xmlns:tools= schemas.android./tools android:layout_width= match_parent android:layout_height= match_parent android:orientation= vertical tools:context= .MainActivity ImageSwitcher android:id= @+id/switcher android:layout_width= match_parent android:layout_weight= 1 android:layout_height= wrap_content /ImageSwitcher HorizontalScrollView android:id= @+id/horizontalScrollView android:layout_width= match_parent android:layout_height= 60dp LinearLayout android:id= @+id/linear android:layout_width= match_parent android:layout_height= match_parent android:orientation= horizontal /LinearLayout /HorizontalScrollView /LinearLayout 2.4 控制功能实现 2. 4.1 图片资源的管理 图片资源可以来自于相册、文件下载、其他 应用的图片资源, 鉴于图片路径各不相同, 可以在应用启动时对存 储卡进行全盘搜索, 将遍历得到的图片路径保存起来, 使用时由这 些路径构造一个数组, 根据路径获取图片并显示到界面上。 为简单 起见, 也可以将图片资源复制到项目中, 通过系统分配的ID 号, 对图片进行控制。 2. 4.2 大图的显示 大图通过ImageSwitcher 控件来显示, 该控件 本身只负责显示图片, 图片的管理工作则是通过ViewFactory 接口 来实现。通常由当前活动实现ViewFactory 接口, 在makeView() 方 法中实现图片的控制, 然后将活动所在类的对象作为监听器, 注册 给ImageSwitcher 控件。 注册监听器: switcher.setFactory(this); makeView()方法的实现: public View makeView() { ImageView image=new ImageView(this); image.setBackgroundColor(0xff000000); image.setScaleType(ImageView.ScaleType.FIT_CENTER); image.setLayoutParams(new ImageSwitcher.LayoutParams( ImageSwitcher.LayoutParams.MATC H_PARENT,ImageSwitcher. LayoutParams.MATCH_PARENT)); return image; } 2. 4.3 小图的显示与切换控制 为了方便用户在不同图片之间进行切 换, 在HorizontalScrollView控件中嵌入一个线性布局, 将所有 图片缩放成小图后放在线性布局中, 形成一个导航栏。这样操作后, 当用户在线性布局中滑动手指时, 可以在多张图片之间进行切换。 图片放入线性布局的关键代码如下: for(int i=0;i { MyImageView image=new MyImageView(this); image.setImageResource(images[i]); image.setAdjustViewBounds(true); image.setOnClickListener(this); image.setImageId(images[i]); image.setPadding(5, 0, 5, 0); linear.addView(image); } 图片 的自定义封装类代码如下: class MyImageView extends ImageView { Integer imageId=new Integer(0); Context context; public Integer getImageId() { return imageId; } public void setImageId(Integer id) { this.imageId = id; } public MyImageView(Context context) { super(context); this.context=context; } } 4 结语 Android 操作系统是继IOS 之 后的一款功能强大的操作系统, 处处体现着人性化的设计, 极大地 改变了人们的生活。通过Android 操作系统提供的各种组件, 可以 快速开发日常生活中所需的各种应用。 该浏览器功能并不强大, 但 简单易用, 并且实现过程也不复杂, 可以通过对功能逐步加强, 改 进为一款功能强大的Android 应用。
本文档为【浅谈Android 图片浏览器的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_496339
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:0
分类:
上传时间:2018-05-28
浏览量:24