我的应用程序一直运行良好(在大多数手机上),直到最近三星 s3 更新为 Jelly Bean。屏幕如下所示: -
它在使用 ICS 的 S3 和大多数其他手机(包括其他三星手机)上运行良好。
有什么想法会导致 Jelly Bean 出现此类问题的 S3 有何不同?
这是爱德华的应用程序的调试信息
我的应用程序一直运行良好(在大多数手机上),直到最近三星 s3 更新为 Jelly Bean。屏幕如下所示: -
它在使用 ICS 的 S3 和大多数其他手机(包括其他三星手机)上运行良好。
有什么想法会导致 Jelly Bean 出现此类问题的 S3 有何不同?
这是爱德华的应用程序的调试信息
这听起来类似于我今年早些时候提出的问题:Android Samsung S I9000 screen size and density issues
就我而言,它与三星的“pentile”显示器有关。这项技术为三星提供了更高的有效屏幕分辨率。更新到 Jellybean 后,设备开始报告更高的屏幕分辨率,让一些软件误以为它的物理尺寸比实际尺寸小得多。当客户开始抱怨我的应用程序不再适合屏幕时,我发现了这个错误。我不得不重新调整我的字体大小以使其再次正常工作。
我最终编写了一个小应用程序,它只显示屏幕指标并了解选择了哪些资源文件。我发现在调试资源问题时,仅运行这个应用程序并查看屏幕可以提供极大的帮助:
https://play.google.com/store/apps/details?id=org.efalk.showresources
终于找到了答案。我的清单有:-
<supports-screens
android:anyDensity="false"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
>
</supports-screens>
我将其更改为:-
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
>
</supports-screens>
现在工作正常:)