scroll.getChildAt(0).getMeasuredHeight()為什么要第一個孩子,直接getMeasuredHeight()不行嗎?

夏天的紅豆
2014-09-02
2 回答
舉報
0/150
提交
取消
2014-09-02
要獲取的是TextView的高度,TextView在ScrollView里,是ScrollView的孩子,而且只有一個孩子,所以用getChildAt(0)就相當于獲取到TextView這個孩子了
2016-07-08
因為 TextView 的實際高度只有它本身才最清楚。 所以是調用 TextView 本身的 getMeasureHeight 方法獲得。而scrollView 的高度是根據可是域高度獲取的,所以scrollView得高度,scrollView它自己最清楚,所以是調用scrollView.getHeight()。
其實, 難解釋的問題是,既然scrollView 里只能有一個子組件啊,為什么是 getChilrAt(0)而不是getChild()呢?(難道是因為scrollView可以嵌套scrollView 或其他ViewGroup的原因...)