根布局的屏幕截图,即滚动视图

Posted

技术标签:

【中文标题】根布局的屏幕截图,即滚动视图【英文标题】:ScreenShot of the Root Layout i.e Scroll View 【发布时间】:2017-12-23 13:21:45 【问题描述】:

我正在开发一个 GPA 计算器应用程序。为此,我想安装一些与捕获最终活动的屏幕截图相关的功能,用户将在其中看到主题及其分数和 GPA 等。 我的根视图是 ScrollView 布局 (所有内容,即他们的标记) 并且想要捕获它。 我尝试了以下代码,但该代码仅适用于单个视图

 Bitmap bitmap = Bitmap.createBitmap(text1.getWidth() , text1.getHeight() , Bitmap.Config.ARGB_4444);
                bitmap.setDensity(text1.getResources().getDisplayMetrics().densityDpi);
                Canvas canvas = new Canvas(bitmap) ;
                text1.draw(canvas);
                imageView.setImageBitmap(bitmap);

但是如果我为父视图尝试相同的代码,即滚动视图,它会给出异常

原因:java.lang.IllegalArgumentException:宽度和高度必须> 0

我想捕获整个滚动视图并将其保存到内部驱动器!提前致谢

【问题讨论】:

IllegalArgumentException: width and height must be > 0 while loading Bitmap from View的可能重复 请参考本帖***.com/questions/43817116/… @SivakumarS 谢谢! 【参考方案1】:

改用绘图缓存

希望对你有帮助

text1.setDrawingCacheEnabled(true);
Bitmap bitmap=text1.getDrawingCache();

【讨论】:

以上是关于根布局的屏幕截图,即滚动视图的主要内容,如果未能解决你的问题,请参考以下文章

自动布局和滚动视图宽度固定到屏幕(不是内容)

相对布局内的列表视图和滚动视图不覆盖屏幕

iOS7 - 无法在滚动视图中嵌入屏幕

拆分滚动视图使其伸展一半的屏幕,但它忽略了布局重量

是否可以使滚动视图不覆盖整个屏幕?

线性布局或滚动视图被推离屏幕