解决方案 »
- 为什么加上进度条就出错了
- android webview 加载了一个本地的html问题
- android 使用sqlite 无法创建表,不知道问题在哪,很急,在线等。
- 关于sqlite returned: error code = 14, msg = cannot open file at source line 25467
- android 手机或平板上加载大图片问题
- 关于APP的调用webService的问题
- 新手求助 找错
- Permission Denial: getTasks()
- APP_ABI := armeabi armeabi-v7a mips x86与= armeabi armeabi-v7a区别是?
- android修改加速度传感器
- 菜鸟求助~创建activity问题
- 如何进行手机屏幕适配?
长长的一大段,我还是没能明白楼主到底遇到了什么问题?
原来如此,一句话表示问题原因:bitmap太大,load失败。
个人觉得 bitmap 并不需要完全加载,屏幕有多大,你就加载要显示的区域到一个ImageView就行了,剩余超出屏幕的部分反正看不到。另外显示是显示,数据是数据,这个要区分。 至于不是一个整体的坐标系,解决办法:
当前显示区域相对于完整地图 left top(x,y),手点击在ImageView上相对于ImageView的left top值, 这两个加一下就映射回 完整地图了。
原来如此,一句话表示问题原因:bitmap太大,load失败。
个人觉得 bitmap 并不需要完全加载,屏幕有多大,你就加载要显示的区域到一个ImageView就行了,剩余超出屏幕的部分反正看不到。另外显示是显示,数据是数据,这个要区分。 至于不是一个整体的坐标系,解决办法:
当前显示区域相对于完整地图 left top(x,y),手点击在ImageView上相对于ImageView的left top值, 这两个加一下就映射回 完整地图了。首先谢谢你的回答,坐标系的您回答的非常好,只是第一个问题,因为地图是要在一个滚动视图里面,是要去缩放的,如果缩放到最完整地图的状态,首先还是会遇到bitmap的过大问题,这个可以限制他的缩放级别来解决,但是加载到一个固定imageview里面,把imageview放在scrollview里面滑动的时候,就很难控制imageview需要显示的是哪一部分的图片了,这就有些河南解决了
原来如此,一句话表示问题原因:bitmap太大,load失败。
个人觉得 bitmap 并不需要完全加载,屏幕有多大,你就加载要显示的区域到一个ImageView就行了,剩余超出屏幕的部分反正看不到。另外显示是显示,数据是数据,这个要区分。 至于不是一个整体的坐标系,解决办法:
当前显示区域相对于完整地图 left top(x,y),手点击在ImageView上相对于ImageView的left top值, 这两个加一下就映射回 完整地图了。首先谢谢你的回答,坐标系的您回答的非常好,只是第一个问题,因为地图是要在一个滚动视图里面,是要去缩放的,如果缩放到最完整地图的状态,首先还是会遇到bitmap的过大问题,这个可以限制他的缩放级别来解决,但是加载到一个固定imageview里面,把imageview放在scrollview里面滑动的时候,就很难控制imageview需要显示的是哪一部分的图片了,这就有些河南解决了我觉得是这样的,滚动并不需要真的把imageView给放scrollView里滚动,仅仅只是要显示的地图 偏移 而已。
缩放也是如此,实际显示的UI 所需要的Bitmap 无论是滚动或者缩放都是固定的大小的,因为能显示的区域就这么大。比如完整地图 1280X1280,实际显示需要640X480,当前显示偏移 x,y,相当于在1280x1280的大图上以x,y为顶点扣一块640x480的图拿来显示。
滚动时,只更改x和y的值,然后重新扣图给UI显示。 缩放时也是同样的道理。
当然这个要在imageView里实现 fliping和scroll。要是想取巧的话可以这么干:
在布局上搞点花样,scrollView配合gridView,实现能左右上下滚动的布局,然后按gridView分块,这样就能动态分块加载大图。这样滚动fliping之类的全都能解决,唯一要考虑的就是缩放时的动作和bitmap的回收。当然这个的限制比较大,只能做到一些基本的,比较粗糙的效果。