我发现了以下两种创建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/