我尝试了什么:
我在自定义视图中使用GestureListener在onDraw(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!