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