`
寻梦者
  • 浏览: 637368 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何给Scrollview里内容截屏并生成bitmap,注意:Scrollview里面内容较多有滚动了

 
阅读更多

使用for循环递归累加其内部的子控件的高度:

private ScrollView scrollView;
scrollView = (ScrollView) findViewById(R.id.scrollview);
int h = 0;
for (int i = 0; i < scrollView.getChildCount(); i++) {
h += scrollView.getChildAt(i).getHeight();}
Bitmap bitmap = Bitmap.createBitmap(scrollView.getWidth(), h,
					Bitmap.Config.ARGB_8888);
			// Bitmap bitmap = scrollView.getDrawingCache(true);
			final Canvas c = new Canvas(bitmap);
		
			scrollView.draw(c);

			ByteArrayOutputStream stream = new ByteArrayOutputStream();
			bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
			final byte[] picture = stream.toByteArray();
if (bitmap != null && !bitmap.isRecycled()) {
bitmap = null;// 把原来的 bitmap.recycle().改成这个
			}

代码如上即可给Scrollview进行截屏并转换为bitmap,和byte[]数组,你可以根据自己需要选择使用·········

 

分享到:
评论

相关推荐

    android ScrollView,ListView 截屏并保存到图库

    在Android开发中,有时我们需要实现一个功能,即用户可以截取ScrollView或ListView的内容,并将截图保存到设备的图库中。这个过程涉及到多个技术点,包括屏幕截图、滚动视图内容捕获、图像处理以及与系统图库的交互...

    android ScrollView截图涂鸦

    ScrollView是LinearLayout或RelativeLayout的一个子类,它可以包含一个或多个子视图,并允许用户垂直滚动浏览这些视图。要在一个Activity中使用ScrollView,我们通常会在XML布局文件中这样设置: ```xml ...

    content2picture:先看需求: 当内容已经超出了手机可显示的范围时,要截取这些所有的内容,从而生成所谓的”长截图”. 没什么难点,利用了webview的特点,和scrollview 的view的绘制,生成bitmap

    先看需求: 当内容已经超出了手机可显示的范围时,要截取这些所有的内容,从而生成所谓的”长截图”. 没什么难点,利用了webview的特点,和scrollview 的view的绘制,生成bitmap。 主要代码: //这是scrollview的 ...

    android 把一个view视图转换成bitmap 保存到本地

    在Android开发中,有时我们需要将View的显示内容截图并保存为Bitmap,以便进行分享或者其他图形处理操作。这个过程涉及到Android的视图系统、图形处理以及文件存储等多个知识点。以下将详细讲解如何实现这一功能。 ...

    Android截屏截图的几种方法总结

    ScrollView 截屏截图是一种特殊的截屏方法,主要用于截取 ScrollView 的内容。下面是一个基本的 ScrollView 截屏截图方法: ```java public static Bitmap getScrollViewBitmap(ScrollView scrollView) { int h = ...

    android view转Bitmap生成截图的方法

    Android View 转 Bitmap 生成截图是一种常见的需求,特别是在分享图片和截屏功能中。下面将详细介绍三种不同的方法来实现 Android View 转 Bitmap 生成截图。 第一种方法:使用 DrawingCache 通过使用 View 的 ...

    截屏Demo,被截画面高度大于手机屏幕高度。

    为了截取整个ScrollView的内容,我们需要遍历ScrollView的所有子视图,并逐个合并它们的截图。以下是一种可能的实现方式: 1. 首先,我们需要获取ScrollView的总高度。通过调用`ScrollView.getChildAt(0).getHeight...

    Android给scrollView截图超过屏幕大小形成长图

    "Android scrollView 截图长图生成" Android 中截图是一种常见的需求,特别是在社交媒体分享时,需要截取某个界面的所有内容。在这种情况下,我们需要截取 scrollView 的内容,生成长图,超出屏幕大小。但是,...

    Android截屏(可截取不可见的部分)

    但是需要注意的是,这个过程可能会消耗较多的内存,特别是在处理大型视图或高分辨率设备时。因此,在实践中,应当注意管理Bitmap资源,防止内存泄漏。 在实际开发中,你可能会遇到一些挑战,例如View层级复杂、动画...

    截图与点击事件

    2. ScrollView截图:由于ScrollView可能会有滚动内容,所以我们需要遍历其子视图,并将它们组合成一张完整的截图。以下是一个示例: ```java ScrollView scrollView = findViewById(R.id.scroll_view); Bitmap ...

    基于android 实现截取 内容超过屏幕大小的长图

    2. **滚动截屏**:对于滚动内容,我们需要监听`ScrollView`或`NestedScrollView`的滚动事件。在`onScrollChanged()`回调中,我们可以记录当前的滚动位置,并决定何时开始截图。 3. **创建Bitmap**:为每个屏幕截图...

    Android 长截屏

    在Android操作系统中,"长截屏"功能是用户获取屏幕多行内容的一种便捷方式,尤其在处理滚动视图如ListView、RecyclerView或ScrollView时特别有用。本文将深入探讨Android长截屏的相关知识点,包括如何实现这一功能,...

    Android编程之截屏实现方法(包括scrollview与listview)

    另外,针对ScrollView和ListView,由于它们可能包含滚动内容,我们需要确保截取整个视图。`convertViewToBitmap`方法可以将任意`View`转换为`Bitmap`,通过测量其大小,布局并构建缓存来实现。这个方法对ScrollView...

    Android实现截屏与截长图功能

    Android 实现截屏与截长图功能是 Android 开发中常见的一种功能,主要用于截取当前屏幕或长图,例如截取列表视图或滚动视图的内容。下面是相关知识点的总结: 1. 截屏的实现方式 在 Android 中,可以使用 View 的 ...

    Android实现全屏截图或长截屏功能

    对于混合布局比如说:根 RelativeLayout 布局中有 ViewGroup+RelativeLayout 等子布局,可以分别测量他们的高度并生成Bitmap对象,然后拼接在一起即可。 ```java public static Bitmap mergeBitmap_TB(Bitmap ...

    Android截取界面长图

    对于截取长图,由于单个屏幕无法容纳全部内容,我们需要滚动屏幕并多次截图,然后将这些图片拼接起来。以下是实现截长图的步骤: 1. 计算总高度:遍历所有需要截图的`View`,累加它们的高度。 2. 设置滚动监听:为`...

Global site tag (gtag.js) - Google Analytics