dimen.xml 为其他尺寸指定后未被执行
dimen.xml is not being executed after specifying it for other sizes
在我的项目中,我只有一个 dimens.xml 文件,在完成我的项目后,我决定为其他屏幕尺寸创建 dimens 文件。
所以我开始创建 values-mdpi 目录并在其中放置一个 dimen.xml 文件。但现在我在 values-mdpi dimens 文件中定义的每个 dimen 资源都适用于所有屏幕!
换句话说,一般尺寸文件被忽略。
但是,如果我定义 value-xxxhdpi 并将我的设备的资源放在那里就可以正常工作。但为什么?
如果我没有为特定密度定义 dimens 文件,它必须从一般 dimens.xml 中获取资源,一定不能吗?
特定于密度的资源将匹配匹配度最低的类型。
因此,如果您创建 values-mdpi
文件夹,任何 MDPI 或更高版本的设备(大多数设备)都将使用该文件夹中的任何现有值,否则回退到默认值。
您的 values-xxxhdpi
文件夹可能不适用于您的设备,因为您的设备不符合 XXXHDPI 规范。它可能是 XXHDPI 或 XHDPI。
你应该改变你的逻辑。不要为低密度设备创建特殊布局,而是为高密度设备创建特殊布局。
请创建一个名为“values-nodpi”的文件夹,并把 general 放在里面,它应该在那里工作!这应该有所帮助!
NOTE!:its better to do it this way though android does provide support
for highdpi folders and also automatically regress it out for lower
ones but it affects performance
在我的项目中,我只有一个 dimens.xml 文件,在完成我的项目后,我决定为其他屏幕尺寸创建 dimens 文件。 所以我开始创建 values-mdpi 目录并在其中放置一个 dimen.xml 文件。但现在我在 values-mdpi dimens 文件中定义的每个 dimen 资源都适用于所有屏幕! 换句话说,一般尺寸文件被忽略。 但是,如果我定义 value-xxxhdpi 并将我的设备的资源放在那里就可以正常工作。但为什么? 如果我没有为特定密度定义 dimens 文件,它必须从一般 dimens.xml 中获取资源,一定不能吗?
特定于密度的资源将匹配匹配度最低的类型。
因此,如果您创建 values-mdpi
文件夹,任何 MDPI 或更高版本的设备(大多数设备)都将使用该文件夹中的任何现有值,否则回退到默认值。
您的 values-xxxhdpi
文件夹可能不适用于您的设备,因为您的设备不符合 XXXHDPI 规范。它可能是 XXHDPI 或 XHDPI。
你应该改变你的逻辑。不要为低密度设备创建特殊布局,而是为高密度设备创建特殊布局。
请创建一个名为“values-nodpi”的文件夹,并把 general 放在里面,它应该在那里工作!这应该有所帮助!
NOTE!:its better to do it this way though android does provide support for highdpi folders and also automatically regress it out for lower ones but it affects performance