课程
/移动开发
/Android
/Android攻城狮的第二门课(第1季)
scroll.getChildAt(0).getMeasuredHeight()为什么要第一个孩子,直接getMeasuredHeight()不行吗?
2014-09-02
源自:Android攻城狮的第二门课(第1季) 12-2
正在回答
要获取的是TextView的高度,TextView在ScrollView里,是ScrollView的孩子,而且只有一个孩子,所以用getChildAt(0)就相当于获取到TextView这个孩子了
JowanXu
慕名1743 回复 JowanXu
因为 TextView 的实际高度只有它本身才最清楚。 所以是调用 TextView 本身的 getMeasureHeight 方法获得。而scrollView 的高度是根据可是域高度获取的,所以scrollView得高度,scrollView它自己最清楚,所以是调用scrollView.getHeight()。
其实, 难解释的问题是,既然scrollView 里只能有一个子组件啊,为什么是 getChilrAt(0)而不是getChild()呢?(难道是因为scrollView可以嵌套scrollView 或其他ViewGroup的原因...)
weibo_闲人悟静
举报
本课程由浅入深地带您学会Android的常用控件的开发和使用