对项目中string,color,selecter,shape资源的处理

在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

猜你喜欢

转载自blog.csdn.net/rungby/article/details/80584638