一、简单的列表
values/style.xml
样式文件:这个文件中的内容和theme.xml中的差不多,但是你可以自己定义一些样式,然后被控件所引用,类似于CSS中的样式表。
2.drawable/xxx.xml
图片类文件:除了正常的拉个位图啥的放到这个目录中,也可以使用xml绘制简单的图形,通常就是按钮背景图片之类的。
- selector 状态选择器
- item 状态定义
- shape 图形定义
3.color/xxx.xml
颜色选择器文件:跟drawable很像,通常用来设置按钮不同状态的文字颜色
1.selector 状态选择器
2.item 状态定义
4.values/color.xml
颜色表文件:为app所用将用到的各种颜色值赋予一个资源ID。可以在系统里直接使用R.color.name来代表颜色值。
5.values/string.xml
字符表文件:为app所有将用到的字符串赋予一个资源ID。与颜色值一样。
6.values/attr.xml
自定义控件的属性表文件:这个会在自定义控件中单独说明。
7.values/themes.xml
主题文件
二、稍微总结一下
如果是初入门android开发,会被这众多的xml搞昏头,也没有看到有人系统的梳理过这些东西。简单记录一下,免得时间长了忘记了。
三、两个异常
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/red" />
<item android:state_enabled="false" android:color="@color/blue"/>
<item android:color="@color/brown"/>
</selector>
上边是一个按钮的文字,在不同状态的颜色定义。如果不能正常显示,就是未按照上边的顺序。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/btn_bg_press" />
<item android:state_enabled="false" android:drawable="@drawable/btn_bg_unable" />
<item android:state_enabled="true" android:drawable="@drawable/btn_bg_normal" />
</selector>
上边是一个按钮的背景,在不同状态时使用的图片,如果不能正常显示,就是未按照上边的顺序,或者是themes.xml中主样式继承有问题。
可以继承Theme.MaterialComponents.NoActionBar.Bridge来解决。其实真正有用的是最后的Bridge,如果使用其它的样式,只要最后带有bridge,应该都可以解决这个问题。
Android res目录下的XML详解
本文详细介绍了Android项目中res目录下values、drawable、color等子目录中的XML文件用途,包括style.xml、drawable/xxx.xml、color/xxx.xml等,以及它们在应用中的作用,如定义样式、图形、颜色选择器等。同时,文章提到了在处理这些XML时可能遇到的异常及其解决方案。
2万+

被折叠的 条评论
为什么被折叠?



