android getsize 函数,android – getWidth()和getHeight在onMeasure()之后返回零(特定设备)
发布日期:2021-06-24 16:53:06 浏览次数:2 分类:技术文章

本文共 922 字,大约阅读时间需要 3 分钟。

我注意到,在调用onMeasure()之后,我的应用程序视图为getWidth()和getHeight()返回0.这只发生在少数设备上,对于大多数

Android设备,下面的代码工作正常.我的checkViewAndLoad()函数根据视图的大小加载缩放的位图.

@Override

protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec) {

super.onMeasure(widthMeasureSpec,heightMeasureSpec);

Log.d("widthMeasureSpec",Integer.toString(MeasureSpec.getSize(widthMeasureSpec)));

Log.d("heightMeasureSpec",Integer.toString(MeasureSpec.getSize(heightMeasureSpec)));

Log.d("viewWidth",Integer.toString(getWidth()));

Log.d("viewHeight",Integer.toString(getHeight()));

checkViewAndLoad();

}

这是一个设备的日志(Motorola Droid Razr Maxx),它在onMeasure()之后为getWidth()/ getHeight()返回零:

09-03 20:55:58.359: D/widthMeasureSpec(29496): 540

09-03 20:55:58.359: D/heightMeasureSpec(29496): 720

09-03 20:55:58.359: D/viewWidth(29496): 0

09-03 20:55:58.359: D/viewHeight(29496): 0

我也尝试手动设置MeMeuredDimensions(),但是这一手不会影响日志.

有人可以告诉我这里我做错了什么,或者在调用onMeasure()之后如何获得SurfaceView的宽度/高度?

转载地址:https://blog.csdn.net/weixin_33960567/article/details/117311028 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:android 后台耗时,android教程之使用asynctask在后台运行耗时任务
下一篇:c语言中 间接成员选择运算符,c语言中->(间接成员运算符)的含义

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月20日 00时28分32秒