毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
Android平台手机图片浏览软件的开发实现(12)
使用到BaseAdapte类的派生类GalleryAdapter,存放Gallery要显示的图片。Gallery每次切换图片,GalleryAdapter类的getView()都会被调用一次。GalleryAdapter引用的图片来源于SD卡pictures文件夹里的数据。getView()每次每次被调用时,根据position读取文件,对页面进行布局。
使用ImageView控件的派生类BasaImageView。BasaImageView类具有调整图片居中显示和对图片进行放大、缩小功能。
GalleryViewActivity浏览图片界面布局使用MyGallery类,通过findViewById找到控件MyGallery,调用setAdapter函数,设置适配器GalleryAdapter,并把图片地址传入适配器中。当通过点击软件功能界面的图册,跳转到GalleryViewActivity活动界面,显示图片。
(1) ImageView缩放
得到图片缩放比例,把图片转换成Matrix对象,对Matrix对象进行缩放和移动。更新UI。
protected void zoomTo(float scale, float centerX, float centerY) {
if (scale > mMaxZoom) {
scale = mMaxZoom;
} else if (scale < mMinZoom) {
scale = mMinZoom;
}
float oldScale = getScale();
float deltaScale = scale / oldScale;
mSuppMatrix.postScale(deltaScale, deltaScale, centerX, centerY);
setImageMatrix(getImageViewMatrix());
center(true, true);
}
protected void zoomTo(final float scale, final float centerX, final float centerY, final float durationMs) {
final float incrementPerMs = (scale - getScale()) / durationMs;
final float oldScale = getScale();
final long startTime = System.currentTimeMillis();
mHandler.post(new Runnable() {
public void run() {
long now = System.currentTimeMillis();
float currentMs = Math.min(durationMs, now - startTime);
float target = oldScale + (incrementPerMs * currentMs);
zoomTo(target, centerX, centerY);
if (currentMs < durationMs) {
mHandler.post(this);
}
}
});
}
protected void zoomTo(float scale) {
float cx = getWidth() / 2F;
float cy = getHeight() / 2F;
zoomTo(scale, cx, cy);
}
protected void zoomToPoint(float scale, float pointX, float pointY) {
float cx = getWidth() / 2F;
float cy = getHeight() / 2F;
panBy(cx - pointX, cy - pointY);
zoomTo(scale, cx, cy);
}
(2) 双击缩放图片
共18页:
上一页
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
下一页
上一篇:
超市库存系统的国内外研究现状和发展趋势
下一篇:
JSP+mysql药品销售及管理系统设计与实现+用例图
考证平台静态网页设计与制作
搭建Linux桌面环境的影音平台【1261字】
抖音短视频平台视频推荐模式研究【2528字】
J2ME平台的SOAP协议研究与應用【2420字】
构建下一代网络的开放业...
Linux嵌入式系统开发平台选型探讨【2295字】
Android课程同步练习系统的设计
医院财务风险因素分析及管理措施【2367字】
C#学校科研管理系统的设计
10万元能开儿童乐园吗,我...
神经外科重症监护病房患...
国内外图像分割技术研究现状
公寓空调设计任务书
AT89C52单片机的超声波测距...
中国学术生态细节考察《...
承德市事业单位档案管理...
志愿者活动的调查问卷表