[英]When anyDensity=false why does getDrawingCache(true) return null?
首先,我的應用程序當前在清單文件中定義anyDensity = false。 在應用程序的其他地方,我試圖捕獲並顯示View的DrawingCache,但是如果不縮放工件就無法獲得清晰的位圖。
下面的代碼產生一個位圖,但它具有縮放偽像,並且通常是模糊的。
myView.setDrawingCacheEnabled(true);
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache());
myImageView.setImageBitmap(myBitmap);
在我閱讀本文時,getDrawingCache的文檔說這是可以預期的,並使用getDrawingCache(true)。 但是,下面的兩個代碼示例都將引發NullPointer異常,因為getDrawingCache(true)返回的位圖始終為null。
myView.setDrawingCacheEnabled(true);
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache(true));
myImageView.setImageBitmap(myBitmap);
要么
myView.buildDrawingCache(true);
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache(true));
myImageView.setImageBitmap(myBitmap);
myView.destroyDrawingCache();
有誰知道當anyDensity = false時如何正確捕獲並渲染drawingCache?
您在onCreate中使用過getDrawingCache嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.