編輯:
有改變全息主題的顏色更簡單的方法。這個網站將你做它:
http://android-holo-colors.com
定製全息按鈕的唯一方法是用Photoshop等圖像編輯器編輯按鈕可繪製。這裏是如何:
- 打開您的SDK目錄的
platforms/android-17/data/res
文件夾,找到在繪製文件夾(他們開始btn_default_holo_...
)的全息按鈕。
- 用你的圖像編輯器打開它們,只需改變它們的顏色(色調/飽和度)以匹配你想要的顏色。有3個或4個不同的drawable,每個按鈕狀態一個。
- 將它們保存在您的應用的相應可繪製文件夾中。您必須爲您要處理的每個屏幕密度執行此操作(通常,
mdpi
,hdpi
,xhdpi
就足夠了)。
我還沒有測試,但它可能足以編輯xhdpi
按鈕。他們將被縮減到較低的密度。
一旦您定製了每個drawable,您必須創建一個選擇器,您將使用它作爲自定義按鈕。這裏是一個選擇我在應用程序中的一個用於創建綠色全息按鈕的例子:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/__btn_green_normal_holo_light"/>
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/__btn_default_disabled_holo_light"/>
<item android:state_pressed="true"
android:drawable="@drawable/__btn_default_pressed_holo_light"/>
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/__btn_default_focused_holo_light"/>
<item android:state_enabled="true"
android:drawable="@drawable/__btn_green_normal_holo_light"/>
<item android:state_focused="true"
android:drawable="@drawable/__btn_default_disabled_focused_holo_light"/>
<item
android:drawable="@drawable/__btn_default_disabled_holo_light"/>
</selector>
下面是修改green holo button drawable的例子。如果你有興趣,你可以檢查我的項目的其他可繪圖,我確切地做你想做的事(我也有一個紅色的按鈕)。
謝謝你的回答!我唯一擔心的是,我必須爲每個Android版本調整它以模仿通常的(薑餅和藍色的橙色等),還是我弄錯了? – AndroidPenguin
你是對的,但你也可以在所有版本中使用holo按鈕。這就是我所做的,以及幾個衆所周知的應用程序。他們比舊的2.1按鈕更好。 – Dalmas
好的,我會這樣做的! :) 萬分感謝! – AndroidPenguin