Android中獲取控制項的寬度以及高度的幾種方法

2021-08-20 15:23:42 字數 545 閱讀 3597

我們首先知道在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 這個方法中獲...