请问一下如何得到一个ScrollView的总高度?
我用getHeight()明显不对。我的ScrollView中插入了多个RelativeLayout(每个RelativeLayout中有图片和文字)。
我监测的getScrollY()可以到2千多,这个比较正确,但是使用getHeight()得到的是700多,这个明显不对啊。请问各位大侠,如何得到这个总高度呢?

解决方案 »

  1.   

    呵呵,对不起,我的这个里面还有个LinearLayout,下面才是RelativeLayout。
    ScrollView
      LinearLayout
        RelativeLayout
        RelativeLayout
        RelativeLayout我获取LinearLayout这个的高度没有问题,但是获取ScrollView的高度有问题。这个ScrollView是咋的个实现的啊。
      

  2.   

    呵呵,对不起,我的这个里面还有个LinearLayout,下面才是RelativeLayout。
    ScrollView
      LinearLayout
        RelativeLayout
        RelativeLayout
        RelativeLayout我获取LinearLayout这个的高度没有问题,但是获取ScrollView的高度有问题。这个ScrollView是咋的个实现的啊。
      

  3.   

    View v;
    v.measure(0, 0); 
    totalHeight += v.getMeasuredHeight(); // 计算子项View 的宽高
    把每个layout都算完了再加起来totalHeight就是ScrollView的高度
      

  4.   

    你在scrollView外面包一个layout再获取那个layout的高度不就好了  你可以在onresume方法中用handler发一个消息再接收消息获取那个layout的高度
      

  5.   

    view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
     用onmeasure取出高度 前提是加上上面的那句话 去配置一下
      

  6.   

    错了 用 getMeasureHeight()就可以取出view的高度了
      

  7.   

    ScrollView本身包含一个可见的窗口,然后子组件的尺寸超过这个窗口的尺寸时,就可以滚动了。你是想得到包含所有子组件的那个尺寸么?
    遍历下子组件,获取子组件的坐标和尺寸,取最大值就是了