我正在编写一个Android应用程序,该应用程序构建(例如)640 * 480像素的屏幕外位图,并将其显示在SurfaceView中。请注意,图像的尺寸大于手机上的实际显示。
该应用程序的工作方式是,它最初显示图像的左上角(0,0),然后我希望能够在图像上滚动。
我的Surfaceview类实现了onMeasure回调,并返回1024 * 768的大小,该大小显示了与电话屏幕相对应的图像区域。我想实现对滚动的支持,由于文档非常有限(只是一堆类和没有一致性的调用),我发现滚动几乎是不可能的。我试过只是调用scrollBy,这是行不通的。
如果有人对如何进行操作有任何建议,将不胜感激。
一旦开始使用SurfaceView,您就将自己带入一个拥有空白像素区域的世界,并且可以自己按自己的意愿绘制它们。您可以自己做所有事情-这意味着您还需要实现滚动。这样做并非易事,但也不是太困难。
一种实现方法如下:-扩展SurfaceView并实现SurfaceHolder.Callback-使用getHolder()。addCallback(this)来获取回调-使用OnTouch事件来实现滚动行为(即,在响应时,拾取x ,MotionEvent中的y位置,并适当设置偏移量)。
实现一个线程来处理图像的更新。网络上有很多这样的示例(很抱歉,暂时没有任何内容)。
或者,使用屏幕外的位图,并用普通的ImageView绘制它(将ImageView调整为位图的大小,然后将其放在滚动视图中)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。