将其指定为其他大小后,不会执行dimen.xml

时间:2018-11-08 22:00:34

标签: android screen-density

在我的项目中,我只有一个dimens.xml文件,完成项目后,我决定为其他屏幕尺寸创建dimens文件。 因此,我首先创建了values-mdpi目录,并将dimen.xml文件放入其中。但是现在我在values-mdpi dimens文件中定义的每个dimen资源都适用于所有屏幕! 换句话说,一般的dimens文件将被忽略。 但是,如果我定义value-xxxhdpi,则可以在其中放置我设备的资源。但为什么? 如果我没有为特定的密度定义一个dimens文件,那么它必须从常规dimens.xml中获取资源,不是吗?

2 个答案:

答案 0 :(得分:0)

特定于密度的资源将匹配最低匹配的类型。

因此,如果创建一个values-mdpi文件夹,则MDPI或更高版本的任何设备(大多数设备)将使用该文件夹中的所有现有值,否则将恢复为默认值。

您的values-xxxhdpi文件夹可能不适用于您的设备,因为您的设备不符合XXXHDPI规范。可能是XXHDPI或XHDPI。

您应该切换逻辑。与其为低密度设备创建特殊布局,不如为高密度设备创建特殊布局。

答案 1 :(得分:0)

请创建一个名为“ values-nodpi ”的文件夹,并大体上说它应该可以在其中工作!这应该有帮助!

  

注意!:虽然android确实提供了支持,但最好还是这样做   用于高dpi的文件夹,并自动将其降低以降低   ,但会影响性能