大佬教程收集整理的这篇文章主要介绍了拍摄完整长度的RecyclerView屏幕截图,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的解决方案,linearlayoutmanager
当 并且
。此解决方案基于此答案。
:这可能会导致内存不足错误。
public static Bitmap getRecyclerVIEwScreenshot(RecyclerView view) {
int size = vIEw.getAdapter().getItemCount();
RecyclerVIEw.VIEwHolder holder = vIEw.getAdapter().createVIEwHolder(vIEw, 0);
vIEw.getAdapter().onBindVIEwHolder(holder, 0);
holder.itemVIEw.measure(VIEw.MeasureSpec.makeMeasureSpec(vIEw.getWIDth(), VIEw.MeasureSpec.EXACTLY),
VIEw.MeasureSpec.makeMeasureSpec(0, VIEw.MeasureSpec.UnspecIFIED));
holder.itemVIEw.layout(0, 0, holder.itemVIEw.getMeasureDWIDth(), holder.itemVIEw.getMeasuredHeight());
Bitmap bigBitmap = Bitmap.createBitmap(vIEw.getMeasureDWIDth(), holder.itemVIEw.getMeasuredHeight() * size,
Bitmap.Config.ARGB_8888);
Canvas bigCanvas = new Canvas(bigBitmap);
bigCanvas.drawcolor(color.WHITE);
Paint paint = new Paint();
int iHeight = 0;
holder.itemVIEw.setDrawingCacheEnabled(true);
holder.itemVIEw.buildDrawingCache();
bigCanvas.drawBitmap(holder.itemVIEw.getDrawingCache(), 0f, iHeight, paint);
holder.itemVIEw.setDrawingCacheEnabled(false);
holder.itemVIEw.destroyDrawingCache();
iHeight += holder.itemVIEw.getMeasuredHeight();
for (int i = 1; i < size; i++) {
vIEw.getAdapter().onBindVIEwHolder(holder, i);
holder.itemVIEw.setDrawingCacheEnabled(true);
holder.itemVIEw.buildDrawingCache();
bigCanvas.drawBitmap(holder.itemVIEw.getDrawingCache(), 0f, iHeight, paint);
iHeight += holder.itemVIEw.getMeasuredHeight();
holder.itemVIEw.setDrawingCacheEnabled(false);
holder.itemVIEw.destroyDrawingCache();
}
return bigBitmap;
}
它最初是用Kotlin编写的。这是我使用的原始代码。
我想获得活动的“全页”屏幕截图。该视图包含一个RecyclerView,其中包含许多项。
我可以使用此功能拍摄当前视图的屏幕截图:
public Bitmap getScreenBitmap() {
View v= findViewById(R.id.container).getRootView();
v.setDrawingCacheEnabled(true);
v.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(v.getDrawingCache());
v.setDrawingCacheEnabled(false); // clear drawing cache
return b;
}
但是它仅包含我可以正常查看的项目(符合预期)。
截屏时,有什么方法可以使RecyclerView神奇地完整显示(一次显示所有项目)?
如果没有,我应该如何解决这个问题?
以上是大佬教程为你收集整理的拍摄完整长度的RecyclerView屏幕截图全部内容,希望文章能够帮你解决拍摄完整长度的RecyclerView屏幕截图所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。