如何使用带有Scroller的GestureListener实现完整滚动视图区域的位图

时间:2014-10-24 07:00:00

标签: android android-bitmap android-gesture android-scroll

我尝试了什么:

我在自定义视图中使用GestureListeneronDraw(Canvas canvas)中绘制shapeDrawable,以查看滚动(非滚动视图)。代码可在 Gist

上找到

我尝试将 GestureListener 包含 Scroller 的视图的位图图片与 public void save(String fname, View view) throws FileNotFoundException { try { String filename = Environment.getExternalStorageDirectory() .toString(); File f = new File(filename, "myImage.png"); f.createNewFile(); System.out.println("file created " + f.toString()); FileOutputStream out = new FileOutputStream(f); view.getDrawingCache(); view.measure(view.getScrollX(), view.getScrollY()); view.setDrawingCacheEnabled(true); view.getDrawingCache(); Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888); bitmap.compress(Bitmap.CompressFormat.PNG, 90, out); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show(); } } 实施

Bitmap bitmap = Bitmap.createBitmap(
                    view.getWidth() + view.getScrollX(), view.getHeight()
                            + view.getScrollY(), Bitmap.Config.ARGB_8888);

问题:

代码工作正常!但是需要的UI是我想拍摄的图像(截图)用滚动条绘制的整个视图!在屏幕上绘制的形状(在手势Scroller上可见)未在图像中显示我在上面的代码中保存的内容。我没能实现从初始宽度和高度区域边抽出的形状视图的视图计算!

尝试了这个但失败了:

{{1}}

getScrollX()一直返回0!

0 个答案:

没有答案