我需要捕获超出可见UI的滚动视图,我使用了这段代码:
ScrollView view2 = (ScrollView)findViewById(R.id.scrollCapture);
view2.setDrawingCacheEnabled(true);
view2.buildDrawingCache();
Bitmap bm = view2.getDrawingCache();
但它只捕获显示的屏幕,而不是整个布局。
是否有一些方法可以捕获整个布局,即使没有显示?
非常感谢。
答案 0 :(得分:0)
使用直接子节点(仅允许一个直接子节点),而不是使用scrollview。例如,如果您的xml文件是
<ScrollView
android:id="@+id/scrollCapture">
<LinearLayout
android:id="@+id/scrollCaptureChild">
</LinearyLayout>
</ScrollView>
DO
LinearyLayout view3 = (LinearyLayout)findViewById(R.id.scrollCaptureChild);
view3.setDrawingCacheEnabled(true);
view3.buildDrawingCache();
Bitmap bm = view3.getDrawingCache();
答案 1 :(得分:0)
Bitmap bitmap = Bitmap.createBitmap(scrollView.getChildAt(0).getWidth(), scrollView.getChildAt(0).getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
scrollView.getChildAt(0).draw(c);