android - 创建 Windowmanager 实例 android 的更好方法是什么

标签 android

我发现了以下两种创建WindowManager实例的方式

WindowManager w = activity.getWindowManager();

WindowManager windowManager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);

但是在 Motorola Milestone 中,如果我使用创建 WindowManager 的第一种方法,那么我无法获得设备的准确宽度

为了获得宽度,我使用了 windowManager.getDefaultDisplay().getWidth();

但如果我使用第二种方法,那么我将获得准确的设备宽度。

我已经在 motorla milestone 中测试过

  • 这两种类型的 WindowManager 有什么区别。
  • 为什么我得到不同的结果。
  • 创建 WindowManager 实例的更好方法是什么?

最佳答案

我相信第二种获取 windowmanager 实例的方法更好,因为它使用系统的信息而不是当前 Activity 的信息。此外,正如您在 here 中看到的那样android 开发者网站推荐了第二种获取 windowmanager 实例的方法。两者结果可能不同的原因是,由于摩托罗拉必须将android os配置为与他们的手机兼容,因此可能已更改此方法。第二种选择可能更合理。

关于android - 创建 Windowmanager 实例 android 的更好方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6759828/

相关文章:

java - 将 JSON 数据放入列表

android - ExoPlayer,泛化 SimpleCache 行为

android - 我可以在 android 中扩展自定义 View 吗?

android - 从android中的sdcard读取数据

android - 混合应用程序在 Android Studio 中崩溃,错误为 : Session 'android' : Error Launching activity

java - MPAndroid BarChart 标签计数和 ValueFormatter 无法正常工作

java - onCreate 后 Android 对象返回 null

android - 自定义来电屏幕

Android Volley 检索图像

android - 即使我们在 android 中移动数英里之外,位置管理器也无法正确检测到位置