【问题标题】:Nexus 7 New version resolution issue with resource folder资源文件夹的 Nexus 7 新版本解析问题
【发布时间】:2013-11-18 06:30:27
【问题描述】:

我的 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 分辨率)。

【问题讨论】:

  • 你为什么这么肯定,18px 不是你 n7 上 11sp 的正确值?顺便说一句:自 android 3.1 或其他版本以来,限定符 large 和 xlarge 已被弃用。
  • 我调试它并在我的日志中打印getResources().getDimension(R.dimen.legend_text) 的值,它显示我为 11-18 12:09:29.758: D/size of text foe nexus 7(4794): size of text foe nexus 7 is 18.0
  • 我明白了。但是为什么18错了?你知道 sp!=px 对吧?
  • 是的,但是对于旧的 nexus 7 它工作正常。而且我无法找到其资源的确切文件夹。从哪里开始。

标签: android android-resources nexus-7 android-resolution


【解决方案1】:

实际上,您使用的是9sp 表示(px = sp*(dpi/160)) 所以这个公式px = 9*(320/160) 表示18。
这就是您获得值 18 的原因。
代替9sp11sp 保留9px,您的问题将暂时解决。
关于文件夹问题:使用large-xhdpisw600dp-xhdpi

【讨论】:

    【解决方案2】:

    tvdpi 是 nexus 7 的正确文件夹

    【讨论】:

    • 还有一个名为“nodpi”的文件夹。它就像一个中性文件夹。试试这个
    • 没有指定的默认文件夹和带有“nodpi”的文件夹有什么区别吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多