我的Android应用程序与旧的nexus 7工作正常。但我有一个新的nexus 7设备的问题。 所有动态渲染(图像大小和文本大小)都会破坏设计,如
tv1.setTextSize(getResources().getDimension(R.dimen.legend_text));
这里我提到了4个名为: -
的文件夹values-large-hdpi
values-large-xhdpi
values-xlarge-hdpi
values-xlarge-mdpi
并且在以上文件夹中,dimen.legend_text的值均为11sp。但当我追踪getResources().getDimension(R.dimen.legend_text)
的价值时,它会给我18.
这是我的日志: -
11-18 12:09:29.758: D/size of text foe nexus 7(4794): size of text foe nexus 7 is 18.0
任何人都知道哪个资源文件夹适合新的nexus 7(1920 * 1200分辨率)。
答案 0 :(得分:2)
实际上,您使用9sp
表示(px = sp*(dpi/160))
,因此使用此公式px = 9*(320/160)
表示18.
这就是你获得值18的原因。
代替9sp
或11sp
保留9px
,您的问题现在就会解决。
关于文件夹问题:使用large-xhdpi
或sw600dp-xhdpi
。
答案 1 :(得分:1)
tvdpi是nexus 7的正确文件夹