为了账号安全,请及时绑定邮箱和手机立即绑定

scroll.getChildAt(0).getMeasuredHeight()为什么要第一个孩子,直接getMeasuredHeight()不行吗?

正在回答

2 回答

要获取的是TextView的高度,TextView在ScrollView里,是ScrollView的孩子,而且只有一个孩子,所以用getChildAt(0)就相当于获取到TextView这个孩子了

0 回复 有任何疑惑可以回复我~
#1

JowanXu

那如果有多个呢?
2015-03-25 回复 有任何疑惑可以回复我~
#2

慕名1743 回复 JowanXu

不可能有多个,因为Scroll里最多只能包含一个组件,所以只有一个孩子
2016-05-30 回复 有任何疑惑可以回复我~

因为 TextView 的实际高度只有它本身才最清楚。 所以是调用 TextView 本身的 getMeasureHeight 方法获得。而scrollView 的高度是根据可是域高度获取的,所以scrollView得高度,scrollView它自己最清楚,所以是调用scrollView.getHeight()。

其实, 难解释的问题是,既然scrollView 里只能有一个子组件啊,为什么是 getChilrAt(0)而不是getChild()呢?(难道是因为scrollView可以嵌套scrollView 或其他ViewGroup的原因...)

2 回复 有任何疑惑可以回复我~
#1

weibo_闲人悟静

是啊 为什么是 getChilrAt(0)而不是getChild()呢?
2016-11-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111161    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程
意见反馈 帮助中心 APP下载
官方微信