我們首先知道在android中直接布局完成之後,並不能直接獲取到控制項的高度以及寬度,直接獲取會發現width以及height是0,因此,我們通過其他方法來獲取寬度以及高度。
1、利用view.measure強制測量。
textview.measure(0,0);當傳入0的時候會進行強制測量,執行onmeasure。
2、利用觀察者註冊檢視的觀察樹。
textview.getviewtreeobserver().addongloballayoutlistener(newviewtreeobserver.ongloballayoutlistener()在ongloballayout中測量高度。});
3、利用view.post(runnable)實現。
******imageview.post(newrunnable()在整個測試的過程中,是要onlayout函式執行之後,就可以正確獲取到控制項的高度以及寬度。});
Android中自定義控制項 獲取文字的寬度和高度
在開發中如果我們textview使用了wrap content即包裹內容來定義控制項的寬高時,往往我們並不能很好的掌握控制項的真是寬度和高度。這裡我提供了乙個計算文字寬高的方法。計算文字寬度 獲取指定文字的寬度 param text param textsize return public stat...
Android獲取螢幕寬度高度
方法一 windowmanager wm windowmanager this getsystemservice context.window service int width wm.getdefaultdisplay getwidth int height wm.getdefaultdispla...
Android獲取控制項的大小
有時候我們需要獲得控制項的大小,但是在activity的oncreate 生命週期方法中呼叫getwidth 和getheight 方法並不能獲得控制項的寬和高,因為此時我們的介面並未被繪製完成。不過我們卻可以在onwindowfocuschanged boolean hasfocus 這個方法中獲...