android - 为什么layout和layout-normal-mdpi的存在不会产生编译时错误?

标签 android android-layout

根据文档,裸露的 layout 资源目录 Android 操作系统会解释为 layout、normal、mdpi。如果我创建一个新项目并制作如下布局结构:

/res/
    /layout/
    /layout-normal/

或者

/res/
    /layout/
    /layout-normal-mdpi/

我没有收到任何错误。为什么?

如果没有错误,那么我可以得出结论,裸layout目录不是正常,mdpi,但它适用于所有这些布局没有明确设置,对吧?!所以它的目的总是可变的?!

在示例 2 中,如果我在普通 mdpi 移动屏幕上加载内容,它会从裸目录还是显式目录加载?

提前感谢任何人花时间为我澄清这一点。

最佳答案

该应用可能在不考虑 /layout-normal-mdpi 资源的设备上运行。然后它将依赖于 /layout 中的资源。换句话说,/layout 中的资源将用作任何没有更具体可用资源的配置的默认资源。

谈论可绘制对象更有意义。系统会将 /drawable 中的可绘制对象从默认的 mdpi 缩放到实际配置的密度。另一方面,/drawable-mdpi 资源将专门用于 mdpi 配置。

关于android - 为什么layout和layout-normal-mdpi的存在不会产生编译时错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11296794/

相关文章:

java - 如何决定InputStream编码?

android - 切换 fragment 时跳转滚动

android - 单击按钮时屏幕锁定

android-layout - 带 EditText 的 ViewSwitcher 留下额外的填充

android - 旋转包含基于 android 中的 onTouchListener 的贴纸的布局

Android - 约束布局 - 如何将 View 居中对齐到其他 View 的边缘?

java - Android 抽屉布局显示在 fragment 内容下

java - 如何使用泄漏金丝雀

android - 有流的房间在空时返回 null

android - Android 函数 View.getHitRect() 提供的值的定义是什么?