綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] [Android]color與button進階運用

[複製連結] 查看: 1198|回覆: 1|好評: 0
跳轉到指定樓層
樓主
xyaw | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-1-7 23:53

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
Sample下載:
下載範例

當專案的自訂顏色很多的時候

可以建立一個color_table來集中管理

1.在res/values上按滑鼠右鍵,選擇New-->Android XML


2.可利用此語法定義顏色:<color name="顏色名稱">顏色代碼</color>

例如:<color name="green">#00ff00</color>


3.在res/color目錄裡新增一個Android XML檔案

選擇"sector"



4.在這個檔案裡面定義所需要的狀態

例如:

<?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_pressed="FALSE" android:color="@color/green"/>
</selector>

除此之外  尚有

android:state_pressed       :該元件被點擊

android:state_selected      :該元件被框選

android:state_checked       :該元件被選取

android:state_window_focused:該元件所在視窗正在工作中

等等實用的狀態可以使用


5.把剛才定義的XML檔案跟元件做連結

例如:

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/behavior_defines"
android:text="@string/btn_name"
/>

6.這樣就能夠改變點擊button時文字的顏色


7.同樣的方法也可以套用在自訂按鈕上面,所以要先在res/drawable裡面先建立一個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:drawable="@drawable/btn2"/>
<item android:state_pressed="FALSE" android:drawable="@drawable/btn1"/>
</selector>

8.再把此定義跟元件做連結:

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="點擊"
android:textColor="@color/red"
android:background="@drawable/change_btn_pic" />

9.以上兩種方法個人覺得在自訂元件的背景與狀態改變上是很實用的

而且並不限定在按鈕上,TextView也能透過這種方法改變文字顏色,

用法同上,先定義一個XML定義狀態改變的行為,再把這個XML跟該元件的item連結在一起即可


「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 2幫助 +5 技術 +4 收起 理由
idvtw + 1
ploglin + 4 + 4 很給力!

查看全部評分

收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2012-1-9 08:55
很不錯的分享,感謝。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則