在res文件夹中,主要有两个地方存放我们的资源文件,一个是drawable,一个是value
value一般是我们的string,color资源,对项目中重复出现的字符串和颜色,统一建立资源,方便引用
drawable一般存放我们的,图标文件,selector文件,shape文件
填坑一
values用来存放一些项目中复用的资源或者自定义的一些属性
比如颜色值,字符串styles
1.个人在练习的时候,基本上用不到,但是在项目中,一个颜色经常要出现很多很多次,每次都查找效率有点低,这个时候就需要把颜色存入values
https://blog.csdn.net/wenzhi20102321/article/details/52776356
参考文章中颜色和颜色选择器的使用
1.1 color.xml文件中添加新的颜色
1.2查阅资料,发现还有更进化的功能-颜色选择器和状态选择器
参考https://blog.csdn.net/qq_29013473/article/details/52857362
状态选择器用来控制控件不同状态下drawable的变化
选中状态,获得焦点状态,可用不可用状态等
原理,定义不同状态下的drawable文件引用,要跟选择器一同放在drawable文件中,然后在控件的drawable中引用选择器即可
a,写法
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 当控件被点击时,控件的背景图为 button_red_pressed-->
<item android:drawable="@drawable/button_red_pressed" android:state_pressed="true"></item>
<!-- 其他状态下控件的背景图为button_red_normal -->
<item android:drawable="@drawable/button_red_normal"></item>
</selector>
button_red_pressed和button_red_normal也要放在drawable文件夹中
b,用法
android:background="@drawable/btn_guide_selector"
颜色选择器是用来控制字体不同状态下的颜色
在Res文件夹中新建color文件夹
创建color Resource file
a,写法
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 控件被按下时为黑色 -->
<item android:color="#000" android:state_pressed="true"></item>
<!-- 其他状态下为白色 -->
<item android:color="#fff"></item>
</selector>
b,用法
android:textColor="@color/txt_guide_selector"
引用时,目前还不会只能弹出资源,需要自己写资源路径全称
填坑二:shape文件
shape文件用来控制控件的背景形状
举个例子
在drawable下建一个shape.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<shape
xmlns:android="http//schemas.android.com/apk/res/android"
android:shape="oval">
<!-- 填充的颜色 -->
<solid android:color="#BFBFBF" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="25dip" />
<!-- padding:Button里面的文字与Button边界的间隔 -->
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"
/>
</shape>
在布局文件中layout.xml中对shape.xml的引用语句,用来设置button形状:
<Button android:id="@+id/yes"
android:text="@string/yes"
android:background="@drawable/shape">
</Button>
解析shape文件中的android:shape属性:
<shape> Android:shape=["rectangle" | "oval" | "line" | "ring"]
其中rectagle矩形,oval椭圆,line水平直线,ring环形
shape文件可以用来控制背景的形状,描边的粗细,颜色,padding大小
不同样式的button
https://www.aliyun.com/jiaocheng/35570.html
如何实现一个带箭头的button
https://blog.csdn.net/doris_d/article/details/45568763