2012-03-02 66 views

回答

1

你必须重写public void onOffsetsChanged (float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset) 使用的xOffset值,你可以定义你提取位图的一部分,并在屏幕上绘制的那部分源矩形。

此图片应该给你如何xOffset作品的理解: 假设有5个主屏幕页面, android xOffset example 如果图片的大小为960×800(宽x高)的,如果你想画的部分尺寸480 x 800的每一次,那么你可以定义一个源矩形,其坐标是:

x1 = xOffset * (960 - 480); y1 = 0; x2 = x1 + 480, y2 = 800; 

然后你的目标矩形将要绘制到屏幕上的部分。 然后,您可以使用public void drawBitmap (Bitmap bitmap, Rect src, Rect dst, Paint paint)方法将位图绘制到屏幕上。

我很久以前就曾使用这种技术。在发布之前,我没有在代码中检查它,并且可能有其他选择(如使用canvas.translate())。但希望这可以帮助你开始。 :)