如何解决Android布局到位图渲染在Activity上下文中不起作用
如果parent
是AppCompatActivity的实例,则一切正常。
如果我将方法签名更改为createRouteBitmapFromLayout(Activity parent,ColorStateList color)
,并从扩展了android.app.Activity
的活动中调用它,那么我会得到一个正确大小的空位图。
回顾一下,唯一改变的是AppCompatActivity =>活动。
private static Bitmap createRouteBitmapFromLayout(AppCompatActivity parent,ColorStateList color) {
View newViewElement = View.inflate(parent,R.layout.icon_node_topo_display,null);
((ImageView) newViewElement.findViewById(R.id.imagePin)).setimageTintList(color);
newViewElement.measure(IconType.poiRouteIcon.measuredWidth,IconType.poiRouteIcon.measuredHeight);
newViewElement.layout(0,newViewElement.getMeasuredWidth(),newViewElement.getMeasuredHeight());
Bitmap bitmap = Bitmap.createBitmap(newViewElement.getMeasuredWidth(),newViewElement.getMeasuredHeight(),Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0,Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
Drawable background = newViewElement.getBackground();
if (background != null) {
background.draw(canvas);
}
newViewElement.draw(canvas);
return Bitmap.createScaledBitmap(bitmap,IconType.poiRouteIcon.iconPxWith,IconType.poiRouteIcon.iconPxHeight,true);
}
感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。