创建Windowmanager实例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实例的第二种方法更好,因为它使用系统的信息而不是来自当前活动的信息。另外,正如你在这里看到的,第二种获得windowmanager实例的方法是android开发者网站推荐的。这两个结果可能不同的原因是,因为摩托罗拉必须配置android操作系统,以兼容他们的手机,这种方法可能已经改变。第二个选项可能更合理。

相关内容

最新更新