Android 如何拍摄包含不可见部分的滚动视图的活动的屏幕截图

Android 如何拍摄包含不可见部分的滚动视图的活动的屏幕截图,android,android-activity,screenshot,android-scrollview,Android,Android Activity,Screenshot,Android Scrollview,我想拍摄一个活动的屏幕截图,这是一个scrolview。 我能够拍摄一张只包含可见部分的截图。是否有一种方法可以拍摄更完整的scrollview屏幕截图,从而也包括不可见的部分 求求你,我需要帮助,我已经被困了好几天了 我已经尝试过该网站相关问题中提供的一些方法/解决方案,但没有一种对我有效 以下是我使用的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.

我想拍摄一个活动的屏幕截图,这是一个scrolview。 我能够拍摄一张只包含可见部分的截图。是否有一种方法可以拍摄更完整的scrollview屏幕截图,从而也包括不可见的部分

求求你,我需要帮助,我已经被困了好几天了

我已经尝试过该网站相关问题中提供的一些方法/解决方案,但没有一种对我有效

以下是我使用的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="vertical">


<Button
    android:id="@+id/capture_screen_shot"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Take ScreenShot" />


<ScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/sc">


    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/m">

        <TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/Data" />

    </LinearLayout>


</ScrollView>


</LinearLayout>

请帮帮我:

你可能需要一些第三方的东西,因为我不相信Android有这种内置功能

请查看这篇文章:

粘贴的重要部件:

从Google Play下载并安装Stitch&Share

使用设备独特的按钮组合,捕获第一个 截图

在应用程序中向下滚动,保留应用程序中的一小部分内容 第一个屏幕截图可见并捕获下一个屏幕截图

重复上一步,直到捕捉到所需的所有内容 显示在屏幕截图中

在通知面板上向下滑动,然后轻触缝合和共享 通知

点击右下角的绿色箭头图标保存或共享 你的截图


我希望这对你有用。。来源

从技术上讲,这不是android屏幕截图代码。但这段代码是将整个布局视图转换为位图

Bitmap bitmap = getBitmapFromView(scrollview, scrollview.getChildAt(0).getHeight(), scrollview.getChildAt(0).getWidth());

//create bitmap from the ScrollView 
private Bitmap getBitmapFromView(View view, int height, int width) {
    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    Drawable bgDrawable = view.getBackground();
    if (bgDrawable != null)
        bgDrawable.draw(canvas);
    else
        canvas.drawColor(Color.WHITE);
    view.draw(canvas);
    return bitmap;
}

检查您在搜索中是否看到帮助?更改了标题和用于使问题更加正确和易于阅读的语言。