【发布时间】:2012-03-20 17:34:23
【问题描述】:
我在使用三星 S I9000 上的应用时遇到问题。我的应用程序上的按钮比应有的大得多。此外,系统正在选择 res/values-small/ 作为值的来源。总而言之,它就像设备有一个非常小的屏幕,即使它应该是 800x480(我在横向模式下工作)。事实上,我可以通过将 res/values-small/styles.xml 中的值更改为比我已经使用的更小的字体大小来改善这种情况。
显示指标如下:
density = 2.0
scaledDensity = 2.0
densityDpi = 320
widthPixels = 800
heightPixels = 480
xdpi = 320.0
ydpi = 320.0
谁能解释为什么该设备将我的图形放大这么多并且表现得好像我的显示器非常小?更重要的是,我该如何解决?
我尝试调整我的清单以将 minSdk 和 targetSdk 设置为最近的版本,但这没有效果。删除 values-small/ 会导致应用改用默认值 /,这只会让情况变得更糟。
【问题讨论】:
-
我不认为有一个值小的文件夹。您也可以使用 values-large 和 values-xlarge。你的安卓操作系统版本是多少?
-
有一个价值观——小。请参阅efalk.org/SamsungS.tar.gz 获取包含它并在任何小屏幕设备上演示它的源代码,显然三星 S 也是如此。我相信它从 1.6 开始就得到了支持。见developer.android.com/guide/practices/screens_support.html
-
底线:我确信这是三星 S 中的一个错误——它报告像素密度为 320,而实际上它是 233。这会导致所有图形在它真正应该有的时候放大 2 倍是 1.5 倍。它还会导致屏幕尺寸被计算为 1.5" x 2.5",如果这是真的,这将是一个小屏幕。没有人注意到三星 S 上的图标、菜单等真的很大吗?它们在模拟器上很大。
-
不要将 PPI 和您的 dpi 混淆。这不一样。如果您的手机返回像素密度为 320,则意味着它的 xhdpi 不会与您的 233 ppi 混淆。
-
我很困惑; PPI和DPI有什么区别?三星 Galaxy S 的物理尺寸为每英寸 233 像素。屏幕有 4" 对角线。为什么它会报告 320 或者它是一个小屏幕?