Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android、蜂巢和ICS-报告屏幕大小,无底部按钮_Android_Android 3.0 Honeycomb_Resolution_Android 4.0 Ice Cream Sandwich - Fatal编程技术网

Android、蜂巢和ICS-报告屏幕大小,无底部按钮

Android、蜂巢和ICS-报告屏幕大小,无底部按钮,android,android-3.0-honeycomb,resolution,android-4.0-ice-cream-sandwich,Android,Android 3.0 Honeycomb,Resolution,Android 4.0 Ice Cream Sandwich,好的,在蜂巢上,我有一些决定屏幕大小的函数。这有时用于动态地执行一些UI操作。但问题是,它包含了带有android按钮的底部栏,这会从您可用的屏幕大小中减去 androidDisplay功能可能返回正确的功能(例如,1280x800显示器将返回1280x740作为显示器,这是不包括底部android按钮的显示器),但webview中的javascript功能将仅确定实际大小,所以1280x800得到1280x800,这是不正确的,因为底部的条在那里 如何在不硬编码的情况下获得底部栏的大小,我至少

好的,在蜂巢上,我有一些决定屏幕大小的函数。这有时用于动态地执行一些UI操作。但问题是,它包含了带有android按钮的底部栏,这会从您可用的屏幕大小中减去

android
Display
功能可能返回正确的功能(例如,1280x800显示器将返回1280x740作为显示器,这是不包括底部android按钮的显示器),但webview中的javascript功能将仅确定实际大小,所以1280x800得到1280x800,这是不正确的,因为底部的条在那里


如何在不硬编码的情况下获得底部栏的大小,我至少可以用这种方法从错误的屏幕大小整数中减去它。

我不确定这是最好的方法,但我是这样做的(在Android 2.2上,但在3.x上也应该可以)

  • 我创建线性布局(填充父对象)
  • 我将自己的视图添加到其中(例如,我将TextView子类化),并覆盖其中的onMeasure
  • 在onMeasure中,我调用getParent().getWidth()和getParent().getHeight()
可能不是你想要的答案,但至少对我来说是有效的