2013-05-17 40 views
5

我試過搜索和使用自定義selectors其他人已發佈在這裏,使用設置的顏色過濾器和各種其他的東西。我認爲我完全弄錯了,因爲我完全誠實地說,剛剛開始開發的設計並不是很好,但我仍然不認爲它可以像我所看到的那樣做我想做的那樣複雜:自定義全息按鈕

我爲froyo開發了一款應用程序。我希望按鈕的背景顏色爲全色綠色和全橙色,如Android developer website上的色板。這就是我想要與衆不同的地方。我希望在全息按鈕或標準按鈕onpress等按鈕上的標準藍色突出顯示在froyo,薑餅等行爲預計

我真的很感激任何指導。提前謝謝你!

回答

7

編輯:

有改變全息主題的顏色更簡單的方法。這個網站將你做它:

http://android-holo-colors.com


定製全息按鈕的唯一方法是用Photoshop等圖像編輯器編輯按鈕可繪製。這裏是如何:

  • 打開您的SDK目錄的platforms/android-17/data/res文件夾,找到在繪製文件夾(他們開始btn_default_holo_...)的全息按鈕。
  • 用你的圖像編輯器打開它們,只需改變它們的顏色(色調/飽和度)以匹配你想要的顏色。有3個或4個不同的drawable,每個按鈕狀態一個。
  • 將它們保存在您的應用的相應可繪製文件夾中。您必須爲您要處理的每個屏幕密度執行此操作(通常,mdpihdpixhdpi就足夠了)。

我還沒有測試,但它可能足以編輯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的例子。如果你有興趣,你可以檢查我的項目的其他可繪圖,我確切地做你想做的事(我也有一個紅色的按鈕)。

+0

謝謝你的回答!我唯一擔心的是,我必須爲每個Android版本調整它以模仿通常的(薑餅和藍色的橙色等),還是我弄錯了? – AndroidPenguin

+1

你是對的,但你也可以在所有版本中使用holo按鈕。這就是我所做的,以及幾個衆所周知的應用程序。他們比舊的2.1按鈕更好。 – Dalmas

+0

好的,我會這樣做的! :) 萬分感謝! – AndroidPenguin