gpt4 book ai didi

android - @r$drawable 和@drawable 有什么区别?

转载 作者:行者123 更新时间:2023-11-29 02:37:26 25 4
gpt4 key购买 nike

我熟悉@drawable,但在我克隆的 repo 中,我发现在引用项目中的可绘制对象时使用了@r$drawable。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@r$drawable/ic_home_live_pressed" />
</selector>

对比

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/ic_home_live_pressed"/>
</selector>

最佳答案

“$”(美元符号)用于引用 Android XML 文件中的内部类。

例如:

class Outer {
class Innter {
}
}

将被称为

Outer$Inner 

通常这是引用非静态内部类的方式。这 ”。” (点)表示法用于静态内部类。

奇怪的是,您看到的源代码将 drawable 称为非静态内部类,因为 Drawable 是静态内部类。

如果您可以分享指向您看到此类代码的存储库的链接,则可以更轻松地解释原因。

在以下位置找到更多相关信息:

Android XML referencing via dollar sign vs dot sign

Error referencing an inner class View in layout/main.xml

针对上述问题的这个特定答案有关于此的良好且最新的信息: https://stackoverflow.com/a/46223464/550967

关于android - @r$drawable 和@drawable 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46259655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com