0
我想創建一個位圖從我以編程方式創建的相對佈局。 的Realtivelayout正顯示出如預期,但是當我嘗試創建一個位圖,它返回非法參數異常的高度和寬度必須> 0 我這是怎麼做使用相對佈局返回一個位圖返回illegalargumentexception
Bitmap.createBitmap(saveLayout.getWidth(),
saveLayout.getHeight(), Bitmap.Config.ARGB_8888);
任何指針?
編輯:添加此代碼,也:
ViewTreeObserver viewTreeObserver = saveLayout.getViewTreeObserver();
if (viewTreeObserver.isAlive()) {
viewTreeObserver
.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
saveLayout.getViewTreeObserver()
.removeGlobalOnLayoutListener(this);
viewWidth = saveLayout.getWidth();
viewHeight = saveLayout.getHeight();
}
});
}
在上面給出的代碼onGlobalLayout()
也似乎從來沒有被調用。
嘿,感謝您的幫助 我現在想使用此代碼來獲取寬度和高度 ViewTreeObserver viewTreeObserver = saveLayout.getViewTreeObserver(); \t \t如果(viewTreeObserver.isAlive()){ \t \t \t viewTreeObserver \t \t \t \t \t .addOnGlobalLayoutListener(新OnGlobalLayoutListener(){ \t \t \t \t \t \t @覆蓋 \t \t \t \t \t \t公共無效onGlobalLayout (){ \t \t \t \t \t \t \t saveLayout.getViewTreeObserver() \t \t \t \t \t \t \t \t \t .removeGlobalOnLayoutListener(本); \t \t \t \t \t \t \t viewWidth = saveLayout.getWidth(); \t \t \t \t \t \t \t viewHeight = saveLayout。的getHeight(); \t \t \t \t \t \t} \t \t \t \t \t}); 但是在全局佈局上似乎沒有被調用,你能說出原因嗎? – 2013-02-19 02:03:20
請在上面的**問題**中發佈其他代碼(使用下方的**編輯**鏈接),並將其格式化爲代碼。閱讀您剛纔發佈的內容真的很難。謝謝。 – Nate 2013-02-19 02:05:14
問題編輯:) – 2013-02-19 02:08:47