关于动态获取页面高度和滚动条定位的有关问题求解
关于动态获取页面高度和滚动条定位的问题求解
如题,页面高度改变时,不知道怎么获取当前页面的高度值。
//数组长度必须为2
int[] locations = new int[2];
downlist.getLocationInWindow(locations);
int x = locations[0];
int y = locations[1];
这是其中一种获取方式,没有效果,动态改变后,两次的值都是一样的(好像是手机屏幕像素高度)。
我外面放置的是一个ScrollView,用getHeight(),获取的值也是相同。所以在多于一屏的页面,不知道大家有没有好的的方法能够获得当前页面的高度。。
我最终的目的是得到高度来定位滚动条的位置,但目前来说,实际高度变大了,但是方法获得的高度还是原来的最大的高度,所以滚动条只能滚动到原来最大的位置,并不能滚动到变化后的最大位置。
------解决方案--------------------
Android 中的组件 使用 getHeight 和 getWidth 是获取不到真实的宽高的
组件的宽高 在绘制后就是固定的, 必须调用一次 组件内部的 onMeasure()方法, 内置的 宽 高 才会改变;
如果组件改变, 没有调用这个方法, 宽高肯定也是以前的宽高
推荐这个博客 : http://blog.****.net/johnny901114/article/details/7839512 这个应该对你有帮助
如题,页面高度改变时,不知道怎么获取当前页面的高度值。
//数组长度必须为2
int[] locations = new int[2];
downlist.getLocationInWindow(locations);
int x = locations[0];
int y = locations[1];
这是其中一种获取方式,没有效果,动态改变后,两次的值都是一样的(好像是手机屏幕像素高度)。
我外面放置的是一个ScrollView,用getHeight(),获取的值也是相同。所以在多于一屏的页面,不知道大家有没有好的的方法能够获得当前页面的高度。。
我最终的目的是得到高度来定位滚动条的位置,但目前来说,实际高度变大了,但是方法获得的高度还是原来的最大的高度,所以滚动条只能滚动到原来最大的位置,并不能滚动到变化后的最大位置。
------解决方案--------------------
Android 中的组件 使用 getHeight 和 getWidth 是获取不到真实的宽高的
组件的宽高 在绘制后就是固定的, 必须调用一次 组件内部的 onMeasure()方法, 内置的 宽 高 才会改变;
如果组件改变, 没有调用这个方法, 宽高肯定也是以前的宽高
推荐这个博客 : http://blog.****.net/johnny901114/article/details/7839512 这个应该对你有帮助