I'm not sure what the precedence is for nodpi
, but that should never be a problem. It sounds like you are misunderstanding the nodpi
qualifier. You should not use nodpi
as a fallback for assets that you don't provide at the device's density bucket. The correct fallback is a folder with no density qualifier (e.g. drawable/
).
If the system cannot find an asset at the device's density (e.g. it is an ldpi device and you don't have a drawable-ldpi
folder), it will fall back to a folder without a density qualifier, *not the nodpi
qualifier`.
The nodpi
qualifier is used when you want to specify a resource that will be used for all densities and that you do not want Android to scale. Assets in the other density folders (e.g. drawable-xhdpi
) will be scaled to the actual screen size. If you use the nodpi
qualifier, you should not provide that asset in any other resource folders.
It is also important to note that with screen density qualifiers, Android will also prefer to use a lower density asset over an unqualified resource. If you have an xhdpi device, but you only have a drawable
and a drawable-mdpi
folder, Android will check for the asset in the mdpi folder before the unqualified folder.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…