我在Samsung 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设置为最近的版本,但这没有任何效果。删除值 - 小/导致应用程序使用默认值/代替,这只会使情况变得更糟。
答案 0 :(得分:2)
始终将“sp”用于字体和休息“dp”
将您的图片放在相应的文件夹中,如下所示
假设您正在使用36x36图像进行mdpi,则需要使用
drawable-mdpi - 36 x 36
drawable-hdpi - 48 x 48
drawable-xhdpi 72 x 72
3:4:6:8 比率
在某些情况下,您可能不希望Android预先扩展资源。避免预缩放的最简单方法是将资源放在具有nodpi配置限定符的资源目录中。
例如:
res/drawable-nodpi/icon.png
例如
您使用的字体大小为14sp意味着它将自动更改为320 DPI
14×320÷160 =28
所以现在xhdpi分辨率手机的字体大小是28dp。