gpt4 book ai didi

java - 分别想要 recyclerView 的每个 View 的屏幕截图

转载 作者:行者123 更新时间:2023-11-30 00:11:18 30 4
gpt4 key购买 nike

OnBind recyclervIEW 的:-

@Override
public void onBindViewHolder(final ItemViewHolder holder, final int position)
{
holder. tv_bill_no.setText(context.getString(R.string.bill_no_display ,
String.valueOf(12)) );
holder.tv_total_amt_label.setBackground(context.getResources().getDrawable(R.drawable.textline));
holder.lv_product_sub_totals.setEmptyView(holder.emptyview);
Typeface typeface=Typeface.createFromAsset(context.getAssets(),"Capture_it.ttf");
holder.tv_dist_name.setTypeface(typeface);
holder.tv_generate.setTypeface(typeface);
holder.btn_generate_pdf.setVisibility(View.GONE);
// itemView.setVisibility(View.GONE);
holder.btn_generate.setVisibility(View.GONE);
holder.btn_share.setVisibility(View.GONE);

holder.ll.setDrawingCacheEnabled(true);
// ImageView iv = (ImageView) rootview.findViewById(R.id.bdf_iv_bill);

Bitmap bm = Utility.screenShot(holder.ll);
bitmap_pdf_pages.add(bm);

Log.e("width",""+holder.ll.getWidth());

}

它抛出一个错误 java.lang.IllegalArgumentException: width and height must be > 0

我正在做的是在OnBind我正在服用 screenshot每个 View 并将其添加到 ArrayList<Bitmap>但我做不到。我想要一个可以使用 screenshots 的解决方案的 viewslistview分开不是一次。采纳其他意见。

最佳答案

它会抛出错误,因为 View.getHeight()(我假设它在 Utility.screenShot(holder.ll) 中使用)仅在 View 已被测量,但在 OnBindViewHolder 尚未发生。

因此您必须手动强制测量并改用 view.getMeasuredHeight(),在“截取屏幕截图”之前采用与 axml 中定义的约束相同的约束。

例如,我测量的宽度和高度均为 300。

View u = holder.ll;
holder.ll.measure(View.MeasureSpec.makeMeasureSpec(300, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(300, View.MeasureSpec.EXACTLY));
u.setDrawingCacheEnabled(true);
int totalHeight = holder.ll.getMeasuredHeight();
int totalWidth = holder.ll.getMeasuredWidth();
u.layout(0, 0, totalWidth, totalHeight);
u.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(u.getDrawingCache());
u.setDrawingCacheEnabled(false);

来源:

关于java - 分别想要 recyclerView 的每个 View 的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48079275/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com