Android 获取View绘制前的高度
发布时间:2020-05-24 19:27:24 所属栏目:Java 来源:互联网
导读:Android 获取View绘制前的高度
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 在Android开发过程中,我们可能需要获取View绘制前的高度或者宽度,一种的可能情形是我们初始化的时候让某个View是Visible = Gone的,当我们触发某个事件的时候需要它显示并且希望有一些动画效果。这时候我们就要获取这个View显示前即绘制前的宽度或者高度。原理很简单,我 们知道,View的绘制过程发生之前,会先执行onMeasure方法。那么我们就可以利用反射来或者我们需要的值。下面给出获取高度的代码,宽度同理。private int getTargetHeight(View v) {
try {
Method m = v.getClass().getDeclaredMethod("onMeasure",int.class,int.class);
m.setAccessible(true);
m.invoke(v,MeasureSpec.makeMeasureSpec(
((View) v.getParent()).getMeasuredWidth(),MeasureSpec.AT_MOST),MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED));
} catch (Exception e) {
}
return v.getMeasuredHeight();
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
