活動加載後,我在屏幕上嘗試我的應用程序格式。問題出現在onCreate()
,onResume()
方法裏面我的ImageView
的寬和高= 0。如何在視圖重新調整後運行一些代碼? 我測試onPostResume()
但它不工作=(Android中在Android中的活動加載後執行代碼
-2
A
回答
3
意見沒有固定的大小/位置像在黑莓或iPhone;相反,它們是動態奠定了佈局發生明顯較onCreate/onResume
,理論上可以發生很多。每個視圖都有方法onMeasure
和onLayout
這是負責的方法,只有在onLayout
方法返回後,你可以告訴視圖的大小和位置,在此之前視圖的大小爲0,位置爲0(正如你已經注意到的那樣)
因此,試圖獲取ImageView的大小onCreate/onResume
是沒有意義的,因爲onLayout
尚未在該p處被調用oint。
相反,覆蓋onLayout
這樣做你的東西有:
public class MyImageView extends ImageView {
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
// at this point size and position are known
int h = getHeight();
int w = getWidth();
doSomethingCool(h,w);
}
}
+0
感謝您的回答=) – ChyBy
相關問題
- 1. 顯示活動後執行代碼
- 2. Android的 - 如何執行代碼*後*一個進程中加載
- 3. 執行動態加載的jQuery代碼
- 4. Android - 手機進入不同的活動後執行一些代碼活動
- 5. 在片段中加載活動代碼
- 6. Android:可以後臺活動執行代碼嗎?
- 7. 後代碼先在java/android中執行
- 8. 在android中執行活動
- 9. 在角2中執行代碼後訂閱加載數據
- 10. 在Angular中加載多個資源後執行代碼
- 11. iframe加載後在iframe中執行JavaScript代碼?
- 12. 在加載UI之前執行代碼
- 13. 動態加載jar並在其中執行任意代碼
- 14. 啓動後在JBoss上執行代碼
- 15. 如何在執行代碼時運行加載器動畫?
- 16. ASP.Net:保持活動代碼執行
- 17. Android新活動用戶界面僅在代碼完成後加載
- 18. 如何在Rails控制檯加載後執行代碼?
- 19. Google.Apis代碼在發佈Outlook加載項後不會執行
- 20. 使用JavaScript在頁面完全加載後執行代碼
- 21. 如何在加載表單後執行代碼(Compact Framework 3.5)?
- 22. 如何在表單加載後執行代碼?
- 23. 在加載活動之前定義代碼中的啓動器活動
- 24. 在splashscreen中的Android加載活動
- 25. 開始下載後執行代碼
- 26. cursorAdapter加載後執行下一行代碼
- 27. 執行整個代碼後顯示活動屏幕
- 28. getOutputStream後不執行代碼 - Android
- 29. 如何爲android活動執行代碼重用?
- 30. 加載Twitter引導類型的源代碼後執行函數
我覺得你的問題是在第15行,你應該添加一個';'。或者,減少口舌:你可能想要發佈不起作用的代碼(只是一個最小的例子,它顯示什麼不起作用),然後告訴我們你想要什麼,你得到什麼等等等等。 – Nanne
不要以爲我需要解釋代碼,fill_parent高度和寬度的imageview有高度= 0和寬度= 0,而活動加載時,我想執行代碼時,該項目採取真正的大小.. – ChyBy
我想這麼多,這就是爲什麼我添加了評論。如果你首先同意的話,我猜你會發布代碼,對吧?對。對你來說可能很清楚,但我對發生的事情沒有快速的瞭解,所以不能(也不會)幫助。想一想:有什麼看法?它是否設置?它是如何設置的?尺寸應該是多少?我們可以在你要求的時候確定尺寸嗎?圖像是否設置在代碼中?什麼時候? – Nanne