在oncreate()方法中提供了資料初始化的機會,但是此時控制項並沒有繪製,所以通過view.getwidth()方法獲取到的寬度是0。可以通過android提供的view.getviewtreeobserve()方法,獲取view的觀察者,進行監聽。監聽時刻在進行,所以初始化只需要計算一次的話,可以通過某個變數控制一下。
mmenu = (linearlayout) findviewbyid(r.id.menu);
viewtreeobserver vto = mmenu.getviewtreeobserver();
vto.addonpredrawlistener(new viewtreeobserver.onpredrawlistener()
return true;
}});
getx:獲取觸控點相對於控制項左上角的座標
getrawx:獲取觸控點相對於螢幕左上角的座標
gettop:獲取控制項相對于父控制項的左上角的y座標
windowmanager wm = (windowmanager) getsystemservice(window_service);
int width = wm.getdefaultdisplay().getwidth();
這種方法已被deprecated了
可以使用下面這種方法
resources resources = this.getresources();
displaymetrics dm = resources.getdisplaymetrics();
float density = dm.density;
int width = dm.widthpixels;
int height = dm.heightpixels;
html5 開發 android 注意點
引用 android應用開發新路線 用html5開發android應用程式 android的html5應用程式概述 如何適配多解析度的android裝置 如何在android中構建html5應用程式 如何在android中除錯html5應用程式 如何在android中使用html5的本地儲存 如何在...
開發注意點
1.不要在mybatis的xml檔案裡map使用巢狀查詢,如 property inte ceinfo column inte ce code select selectbyinte cecode 可能會導致很嚴重的效能問題 2.定義固定的返回格式類 如 public class effect 3....
android日常開發記憶體優化注意點
1.盡量的少使用資源,多使用shape畫圖或者.9.png 3.context不要被長時間引用,例如 執行緒引用了context,並且在無限迴圈 雖然介面退出去,activity被摧毀,但context還在被執行緒引用,當前activity的資源就不會被 4.context沒被長時間引用情況下,只要...