Android编程实现大图滚动显示的方法

本文实例讲述了Android编程实现大图滚动显示的方法。分享给大家供大家参考,具体如下:

问题:

我有一张比较大的图片,比如长宽都是屏幕的两倍大小,我想实现的功能是首先将图片居中显示,由于图片太大显然只能显示一部分,然后可以通过拖动,实现图片的平滑滚动(既看不出来滚动刷新痕迹)。

就像google地图一样,如果用mapView这个控件,那么可以在屏幕上拖动整个地图,但是由于地图信息量太大,如果一次拖动过快,那么屏幕会暂时显示出一些刷新痕迹(灰白的格子)。

想使用mapView来加载已有图片,但是没有成功,后来也使用了Srollview控件,和最常用的imageView,还是没有成功。

解决:

经过大量查资料,使用imageView配合onTouch事件,可以解决。

关键代码:

布局文件中imageView控件如下

<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/img" android:scaleType="center" android:background="#fff" android:src="@drawable/picName" />

Activity文件中主要代码如下

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.xml_name_layout); final ImageView switcherView = (ImageView) this.findViewById(R.id.img); switcherView.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View arg0, MotionEvent event) { float curX, curY; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mx = event.getX(); my = event.getY(); break; case MotionEvent.ACTION_MOVE: curX = event.getX(); curY = event.getY(); switcherView.scrollBy((int) (mx - curX), (int) (my - curY)); mx = curX; my = curY; break; case MotionEvent.ACTION_UP: curX = event.getX(); curY = event.getY(); switcherView.scrollBy((int) (mx - curX), (int) (my - curY)); break; } return true; } }); }

实现效果如下:

原图:

模拟器里效果:

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

时间: 2024-11-03 21:57:42

Android编程实现大图滚动显示的方法的相关文章

Android编程实现大图滚动显示的方法_Android

本文实例讲述了Android编程实现大图滚动显示的方法.分享给大家供大家参考,具体如下: 问题: 我有一张比较大的图片,比如长宽都是屏幕的两倍大小,我想实现的功能是首先将图片居中显示,由于图片太大显然只能显示一部分,然后可以通过拖动,实现图片的平滑滚动(既看不出来滚动刷新痕迹). 就像google地图一样,如果用mapView这个控件,那么可以在屏幕上拖动整个地图,但是由于地图信息量太大,如果一次拖动过快,那么屏幕会暂时显示出一些刷新痕迹(灰白的格子). 想使用mapView来加载已有图片,但是

Android实现在TextView文字过长时省略部分或滚动显示的方法_Android

本文实例讲述了Android实现在TextView文字过长时省略部分或滚动显示的方法.分享给大家供大家参考,具体如下: TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下: 1.android:ellipsize="start"-–省略号显示在开头 2.android:ellipsize="end"--省略号显示在结尾 3.android:ellipsize="middle"--省略号显示在中间 4.an

Android编程开发实现TextView显示表情图像和文字的方法_Android

本文实例讲述了Android编程开发实现TextView显示表情图像和文字的方法.分享给大家供大家参考,具体如下: 从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息,第三张图片按比例缩小,第四张图像有超链接 布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andro

Android编程实现等比例显示图片的方法_Android

本文实例讲述了Android编程实现等比例显示图片的方法.分享给大家供大家参考,具体如下: 在android中,由于密度的影响,如果想得到图片的宽高是不行的,具体为什么我就大概说一下,具体的请搜索度娘或者古哥吧. 原因是如果你把图片放在drawable-mdpi里,而手机是属于drawable-hdpi的话,图片是被自动放大,就这样取到的宽与高未必就是正确的.那么如何让android上面显示的图片是基于原来图片的比例呢,首先你可以在res目录下创建一个drawable-nodpi的目录,这个目录

Android编程实现等比例显示图片的方法

本文实例讲述了Android编程实现等比例显示图片的方法.分享给大家供大家参考,具体如下: 在android中,由于密度的影响,如果想得到图片的宽高是不行的,具体为什么我就大概说一下,具体的请搜索度娘或者古哥吧. 原因是如果你把图片放在drawable-mdpi里,而手机是属于drawable-hdpi的话,图片是被自动放大,就这样取到的宽与高未必就是正确的.那么如何让android上面显示的图片是基于原来图片的比例呢,首先你可以在res目录下创建一个drawable-nodpi的目录,这个目录

Android实现在TextView文字过长时省略部分或滚动显示的方法

本文实例讲述了Android实现在TextView文字过长时省略部分或滚动显示的方法.分享给大家供大家参考,具体如下: TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下: 1.android:ellipsize="start"-–省略号显示在开头 2.android:ellipsize="end"--省略号显示在结尾 3.android:ellipsize="middle"--省略号显示在中间 4.an

Android编程实现Toast只显示最后一条的方法

本文实例讲述了Android编程实现Toast只显示最后一条的方法.分享给大家供大家参考,具体如下: 在做Android开发中,时不时的可能会用到Toast,但用Toast的时候,连续使用会存在一个问题,就是一条条显示Toast.而不是直接显示最后一条.因此,根据此需求,现在写了ToastUtil这个类,该类中有三个方法供选择. ToastUtil.Java import android.content.Context; import android.graphics.PixelFormat;

Android TextView实现垂直滚动效果的方法_Android

本文实例讲述了Android TextView实现垂直滚动效果的方法.分享给大家供大家参考,具体如下: 在TextView中,如果文本很长,可能需要实现垂直滚动显示文本的效果.这里需要在XML布局文件中为TextView设置如下几个属性. Android:scrollbars="vertical" android:scrollbarStyle="X" 其中X为outsideOverlay或insideOverlay. android:scrollbarFadeDur

Android编程滑动效果之倒影效果实现方法(附demo源码下载)_Android

本文实例讲述了Android编程滑动效果之倒影效果实现方法.分享给大家供大家参考,具体如下: 前面介绍了使用<Android编程实现3D滑动旋转效果的方法>,现在介绍图片倒影实现,先看效果图 这里主要通过自定义Gallery和ImageAdapter(继承自BaseAdapter)实现 1.倒影绘制 ImageAdapter继承自BaseAdapter,详细实现可见前面关于Android Gallery的用法.这里重点介绍倒影原理及实现 倒影原理: 倒影效果是主要由原图+间距+倒影三部分组成,