将可滚动内容捕获到Bitmap

时间:2014-09-25 13:03:54

标签: android android-layout

我想在可滚动视图(ViewPager)中获取屏幕截图,但我只是从屏幕上的内容中获取图像。

我有一个有两个孩子的Viewpager

  

android.support.v4.view.PagerTitleStrip

     

NoSaveStateFrameLayout

我使用此代码来获取屏幕截图

private Bitmap screenShot(View view) {

    Bitmap capture = null;

    view.setDrawingCacheEnabled(true);
    capture = Bitmap.createBitmap(view.getDrawingCache());
    view.setDrawingCacheEnabled(false);

    return capture;
}

我需要捕捉洞内容,即尚未在屏幕中显示的可滚动内容。

2 个答案:

答案 0 :(得分:1)

您可以通过以下方法

创建任何视图的位图
public static Bitmap loadBitmapFromView(View v) {
    Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(b);
    v.draw(c);
    return b;
}

只需在父视图上使用上面的内容并创建整个活动的位图

答案 1 :(得分:0)

我找到了如何修复here

您必须在Scrollable View中获得子高度。