android – TextView(getDrawingCache)中的位图始终为null

前端之家收集整理的这篇文章主要介绍了android – TextView(getDrawingCache)中的位图始终为null前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图提取显示的TextView实例关联的位图,但它总是返回一个空值.我究竟做错了什么?我应该使用textview.draw(canvas)吗?
TextView textview = (TextView) findViewById(R.id.text_title);
    textview.setDrawingCacheEnabled(true);
    textview.buildDrawingCache();        
    Bitmap bmp = textview.getDrawingCache();

解决方法

在获得绘图缓存之前执行此操作将解决问题

view.measure(MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED));
view.layout(0,view.getMeasuredWidth(),view.getMeasuredHeight());

然后getDrawingCache()将返回一个位图并在画布上绘制该位图.

如果你在你的应用程序中使用位图,则更喜欢通过调用它们上的recycle()方法从内存中清除它们,以便从内存中清除位图以保证安全,避免outOfMemoryException

猜你在找的Android相关文章