我正在使用 Android 2.1 并遇到以下问题:
使用 View.getDrawingCache() 方法始终返回 null。 getDrawingCache() 应该返回一个 Bitmap,它是 View 内容的表示。
示例代码:
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final View view = findViewById(R.id.ImageView01);
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
final Bitmap bmp = view.getDrawingCache();
System.out.println(bmp);
}
我已经尝试了不同的方法来配置 View 对象以生成绘图缓存(例如View.setWillNotDraw(boolean)
and View.setWillNotCacheDrawing(boolean)
),但没有任何效果。
什么是正确的方法,或者我做错了什么?
PS:在实际代码中,我想在像RelativeLayout这样的ViewGroup上应用getDrawingCache()。使用 ViewGroup 时的行为是否相同?
Bitmap screenshot;
view.setDrawingCacheEnabled(true);
screenshot = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false);
你需要Bitmap.createBitmap(view.getDrawingCache());
作为从中接收引用的位图getDrawingCache()
被回收。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)