【发布时间】:2010-05-12 08:41:06
【问题描述】:
我正在使用 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) 和 View.setWillNotCacheDrawing(boolean)),但没有任何效果。
什么是正确的方法,或者我做错了什么?
PS:在实际代码中,我想在像 RelativeLayout 这样的 ViewGroup 上应用 getDrawingCache()。使用 ViewGroup 时的行为是否相同?
【问题讨论】:
-
我在2.1中遇到同样的问题,2.2正确保存位图。
-
这应该可以工作 - stackoverflow.com/questions/11560882/…
标签: android caching null view drawing