资源引用
android sdk doc中提到了关于xml引用资源是如下格式:
@[<package_name>:]<resource_type>/<resource_name>
@*android:style/Theme.Dialog.Alert(\packages\apps\Settings\AndroidManifest.xml)
@color/workspace_all_apps_and_delete_zone_text_color
Theme.Dialog.Alert
因为Alert是非public的。
使用*号的话与@的区别在于可以调用<sdk_path>\platforms\android-8\data\res\values\themes.xml中所有的已定义的theme.而不使用*只能调用在<sdk_path>\platforms\android-8\data\res\values\public.xml中声明的样式或主题。
从某种意义上来说,没在public.xml中声明的资源是google不推荐使用的。
源码中引用资源是如下格式:
[<package_name>.]R.<resource_type>.<resource_name>
R.drawable.ic_launcher 引用当前工程res/drawable目录下的资源。
com.android.internal.R.drawble.ic_menu_notifications 获取的是非公开的id类似于xml中加*。