在Android Studio中,如果我写下以下内容:
android:background="@color/dark_grey"
需要在res/values/colors.xml
文件中查找值为dark_grey
的内容。
如果我有:
<include layout="@layout/content_reminders" />
该值将被查找为res/layout/content_reminders.xml
。
问题:
查找过程是如何 确切地 进行的?
如何设置更多的查找目录? 例如,如果我想在那里有
@layout2/something_else
,是否允许?无论哪种情况,在哪里查找@layout
?它在项目配置中吗?
[添加问题]
- Gradle如何处理歧义?
这两者的格式非常不同:一个是@color/dark_grey
,另一个是@layout/content_reminders
。即使接受文件夹res/layout
和res/values
是特殊的并以特殊方式处理它们,Gradle如何知道当我输入@layout/content_reminder
时,我不是在谈论文件res/values/layout.xml
中的值content_reminder
(而不是res/layout
下的layout.xml
文件)?
@color/dark_grey
,另一个是@layout/content_reminders
。它们如此不同...第一个是如何知道要查找color.xml(以及在哪里)的?如果它们是@layout/content_reminders
和@values/color:dark_grey
(或类似的东西),那么我会理解,因为有一些一致性(@path:[value]
)。但是像这样...实际格式是什么...? - Mercres
文件夹中的“一切”都被索引,那么是什么阻止我在那里添加一个layout2
文件夹并引用它呢?(我的意思是,它确实不起作用,但为什么呢...?layout
和values
文件夹有特殊之处吗..?) - Mercres/layout
和res/values
是特殊的,并以特殊方式处理它,但它如何知道当我键入@layout/content_reminder
时,我不是在谈论文件res/values/layout.xml
中的值content_reminder
(而不是res/layout
下的文件layout.xml
... - Merclayout
、color
、string
和其他标签都是特殊的。当您键入@layout/
时,自动完成将显示所有layout
文件。这个功能是在Android Studio中实现的。这些标签被IDE所理解,因此您不能引入新的标签。 - Henry