创建不同分辨率布局时遇Configuration error,如何修复?
解决Android资源布局文件夹命名无效的问题
这个报错的核心原因是你使用了Android不认可的资源限定符格式——直接用宽x高(比如1200x1920)作为layout文件夹的后缀不符合Android的资源命名规范,哪怕是通过Android Studio向导创建的,也可能是你在创建时选错了限定符类型导致的。
修复步骤:
重命名现有文件夹
把报错的layout-1200x1920、layout-1440x2560改成符合规范的命名格式:- 如果是想针对最小宽度(不管横竖屏,只要屏幕最小边达到这个尺寸就用该布局),用
layout-sw1200dp、layout-sw1440dp(推荐,适配性更广) - 如果是只想针对特定宽度(比如竖屏时的宽度),用
layout-w1200dp、layout-w1440dp - 如果是针对特定高度,用
layout-h1920dp、layout-h2560dp
这里的dp是密度无关像素,是Android适配的标准单位,不要用原始像素值。
- 如果是想针对最小宽度(不管横竖屏,只要屏幕最小边达到这个尺寸就用该布局),用
通过Android Studio正确创建符合规范的布局文件夹
下次创建时,按照以下步骤操作避免出错:- 右键res文件夹 → New → Layout Resource File
- 在弹出的窗口中,点击
Available Qualifiers列表里的Size,然后点击>>添加到Chosen Qualifiers - 在右侧选择具体的限定符类型(比如
Smallest Width、Width或Height),输入对应的dp值,点击OK
这样生成的文件夹会自动使用符合Android规范的命名,不会再出现配置无效的问题。
补充说明:
Android的资源限定符有严格的语法规则,只有官方定义的限定符类型和格式才会被系统识别。直接使用像素尺寸的宽x高格式不在官方允许的限定符范围内,所以构建时会报错。使用sw/w/h加dp值的方式,才能让系统正确识别并应用对应的布局。
内容的提问来源于stack exchange,提问作者Tomus




