簡體   English   中英

無法獲得小部件的高度

[英]Can't get height of Widgets

當獲取TextView的高度/寬度時,我面臨一個問題。

我的代碼:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TextView tv1 = (TextView)findViewById(R.id.textview1);
    int h1 = tv1.getHeight();
    TextView tv2 = (TextView)findViewById(R.id.textview2);
    int h2 = tv2.getHeight();
}

h1是textview1的高度h2是textview2的高度

這些h1和h2始終等於0。

這是怎么了

請指教。

謝謝。

在對視圖進行測量之前, View.getWidth()/View.getHeight()不會給您有意義的答案。 在此處閱讀有關android如何繪制視圖的信息。
請參閱此主題以了解何時可以使用測量的尺寸。

如果tv1.getHeight()尚未繪制,則將返回0(以及tv2.getWidth())。

解決方案是在布局視圖后獲取高度:

tv1.post(new Runnable(){
    public void run(){
         int height = tv1.getHeight();
    }
});
tv2.post(new Runnable(){
    public void run(){
         int height = tv2.getHeight();
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM