2013-07-24 58 views
1

BitmapDrawable已棄用,我試圖用更新的代碼替換此代碼。有人可以提出更新的代碼和示例嗎?快速操作PopupWindows

/** 
* On pre show 
*/ 
protected void preShow() { 
    if (mRootView == null) 
     throw new IllegalStateException("setContentView was not called with a view to display."); 

    onShow(); 

    if (mBackground == null) 
     mWindow.setBackgroundDrawable(new BitmapDrawable()); 
    else 
     mWindow.setBackgroundDrawable(mBackground); 

     mWindow.setWidth(WindowManager.LayoutParams.WRAP_CONTENT); 
     mWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT); 
     mWindow.setTouchable(true); 
     mWindow.setFocusable(true); 
     mWindow.setOutsideTouchable(true); 

     mWindow.setContentView(mRootView); 
} 
+0

這是你的代碼還是開源庫? –

+1

這是一個開源的圖書館。檢查[這裏](http://stackoverflow.com/questions/9978884/bitmapdrawable-deprecated-alternative)替代。 – Ali

+0

它是一個開源庫,來自Quickaction的PopupWindows。 – jcaruso

回答

1

我也使用這個庫,我把它改成下面的,一切工作正常:

mWindow.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 

注:我試過也mWindow.setBackgroundDrawable(null),但不知何故殺onTouch聽衆。

+0

謝謝!旁邊的問題,你有沒有對快速反應進行任何修改,以便爲你重新調整圖像大小? – jcaruso

+0

你究竟是什麼意思,但我不這麼認爲。我只是對PopupWindow進行了修改,因爲如果actionItem中的文本很長,popup仍然很小且位置錯誤。這是因爲寬度和高度設置爲WRAP_CONTENT,PopupWindow遇到了一些問題。 – koso

+0

您提供的快速操作的圖像(如果它們太大並且需要重新調整大小)... – jcaruso