android 资源的引用方式 @android ?android ?attr的区别
2022/2/7 23:16:40
本文主要是介绍android 资源的引用方式 @android ?android ?attr的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.@android的使用
先来说说@android。一般用法是@android/color/xxx或者@android:drawable/xxx。
顾名思义,就是可以获取系统提供的颜色或者图标。
@android只有这三种用法,@android:color/,@android:drawable/,@android:mipmap/。
1.1@android:drawable/
其中@android/drawable定义在sdk/platforms/android-29/data/res/drawable-xxdpi。
有多个分辨率的目录,下面有很多系统自带的图标,我们写demo的时候,可以直接使用这些图标,而不需要自己再引入。但是这种方式有bug,有些资源能引用但是AS不会给提示,比如我想用ic_menu_back.png这张回退箭头的照片,是没有提示的,本来指望通过搜索back关键字来查找。所以这种方式还是非常少用的,比较鸡肋。如果没有bug还能勉强用用。还是推荐用AS自带的Image Assert。
而且这个目录下的资源是不可以自己添加的,自己添加的内容是不会识别的,也不能被引用。
1.2@android:color/
可以使用系统定义的一些颜色,文件位置为sdk/platforms/android-29/data/res/values/color.xml。也非常的鸡肋,还不如通过拾色器。
1.3 @android:mipmap/
这个一张图片资源@android:mipmap/sym_def_app_icon。没什么用。
小结:@android差不多就没什么用处,都非常的鸡肋。
2.?android的使用
引用系统定义好的一些属性,比如下面的actionBar的高度。有非常多的属性。这些属性全部定义在sdk/platforms/android-29/data/res/values/attr.xml中。
下面的两种写法是一样的,只是中间的attr可以省略。
android:background="?android:actionBarSize" 这两种写法是一样的。 android:background="?android:attr/actionBarSize"
3.?attr
这个也是非常常见的。比如下面的用法
android:background="?attr/actionBarSize"
其中attr是可以省略的,也就等同于下面:
android:background="?actionBarSize"
这个文件在.gradle/caches/transforms-2/files-2.1/xxx/appcompat[版本]/values.xml文件里面。
这是一个和主题相关的用法。
这篇关于android 资源的引用方式 @android ?android ?attr的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路