1. 程式人生 > >對專案中string,color,selecter,shape資源的處理

對專案中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