Java Android模拟器没有模拟正确的密度或分辨率。可能是surfaceview实现问题
我正在构建一个使用surfaceview类的小应用程序,该类扩展了surfaceholder.callback。它的实现方式与lunarlander示例类似。我的问题是,我使用的每种类型的模拟器(低密度、中密度或高密度)似乎都没有将屏幕的密度或分辨率改变到我所期望的程度。我最近询问了堆栈溢出问题,我意识到我对该函数没有做任何错误,问题是我使用的任何模拟器都以中等密度被识别 高密度模拟器屏幕显示非常逼真的图像。中等密度模拟器的图像看起来棒极了。低密度仿真器图像看起来很逼真,但没有hdpi那么糟糕 我在每个模拟器上都执行了mySurfaceHolder.getSurfaceFrame(),并得出以下结论:Java Android模拟器没有模拟正确的密度或分辨率。可能是surfaceview实现问题,java,android,eclipse,android-emulator,surfaceview,Java,Android,Eclipse,Android Emulator,Surfaceview,我正在构建一个使用surfaceview类的小应用程序,该类扩展了surfaceholder.callback。它的实现方式与lunarlander示例类似。我的问题是,我使用的每种类型的模拟器(低密度、中密度或高密度)似乎都没有将屏幕的密度或分辨率改变到我所期望的程度。我最近询问了堆栈溢出问题,我意识到我对该函数没有做任何错误,问题是我使用的任何模拟器都以中等密度被识别 高密度模拟器屏幕显示非常逼真的图像。中等密度模拟器的图像看起来棒极了。低密度仿真器图像看起来很逼真,但没有hdpi那么糟糕
- WVGA800-480x800-hdpi-生成一个320 x 508的曲面
- 默认(HVGA)-mdpi-生成一个320 x 455的曲面
- QVGA-240x320-ldpi-生成一个320 x 402的曲面
有什么想法吗?一如既往,我感谢你的帮助 表面没有显示工作区域?不包括状态栏和应用程序标题栏。它可以给你倾斜,而不是像素
像素=凹陷*(密度/160)表面不显示工作区域?不包括状态栏和应用程序标题栏。它可以给你倾斜,而不是像素
像素=dips*(密度/160)好吧,我想这是android文档中的一个错误 问题是,我使用的任何模拟器基本上都会被模拟成中等密度的屏幕,除非下面一行在Android清单文件中。所有资源默认为mdpi文件夹,并且从不从hpdi文件夹中提取。然后自动执行某种缩放操作,因为它将HDPI屏幕视为MDPI屏幕,从而解释了屏幕上的“像素化”图像
<supports-screens
android:anyDensity="true"/>
安卓:任何密度
指示应用程序是否可以适应任何屏幕密度。旧的应用程序(API级别4之前)假定无法适应所有密度,默认为“假”。使用API级别4或更高的应用程序假定能够适应,默认为“真”。您可以在此处显式提供您的能力。”
我使用的是API Level 8,必须提供这行代码来模拟高密度设置下的屏幕。好吧,我想这是android文档中的一个错误 问题是,我使用的任何模拟器基本上都会被模拟为中等密度屏幕,除非以下行在Android清单文件中。所有资源默认为mdpi文件夹,从不从hpdi文件夹中提取。然后会自动执行某种缩放操作,因为它将HDPI屏幕视为mdpi屏幕,从而解释了屏幕上的“像素化”图像
<supports-screens
android:anyDensity="true"/>
安卓:任何密度
指示应用程序是否可以适应任何屏幕密度。旧的应用程序(API级别4之前)假定无法适应所有密度,默认为“假”。使用API级别4或更高的应用程序假定能够适应,默认为“真”。您可以在此处显式提供您的能力。”
我使用的是API Level 8,必须提供这行代码来模拟高密度设置下的屏幕。我的帖子说明了我用于返回曲面大小的方法。这个方法返回了一个以像素为单位的rect,还是不正确?我的帖子说明了我用于返回曲面大小的方法。这个方法返回了以像素为单位的rect,还是不正确?