2012-05-05 77 views
3

我目前正在開發一個在android api 4(1.6)及以上版本上運行的應用程序。然而,它在android 4上看起來非常好(它有新的按鈕樣式),但在下面的所有平臺上看起來都很愚蠢,包括1.6(按鈕樣式有些尷尬)。如何將Android 4按鈕樣式移植到較低平臺?

如何平等地在所有平臺上製作按鈕視圖? 我可否將android 4 button style複製到我的項目中以解決此問題? 如果是,我可以在哪裏找到這種風格。

這是它應該是什麼樣子到處

enter image description here

+2

你見過http://developer.android.com/design/downloads/index.html? –

回答

1

是的,你可以做到這一點。您只需要創建一個自定義背景並從SDK目錄中複製一些文件。

把它作爲一個xml drawable放在你的drawables文件夾中。我稱它爲btn_start_activity.xml。但是你可以給它任何你想要的名字。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_window_focused="false" android:state_enabled="true" 
     android:drawable="@drawable/btn_default_normal_holo_dark" /> 
    <item android:state_window_focused="false" android:state_enabled="false" 
     android:drawable="@drawable/btn_default_disabled_holo_dark" /> 
    <item android:state_pressed="true" 
     android:drawable="@drawable/btn_default_pressed_holo_dark" /> 
    <item android:state_focused="true" android:state_enabled="true" 
     android:drawable="@drawable/btn_default_focused_holo_dark" /> 
    <item android:state_enabled="true" 
     android:drawable="@drawable/btn_default_normal_holo_dark" /> 
    <item android:state_focused="true" 
     android:drawable="@drawable/btn_default_disabled_focused_holo_dark" /> 
    <item 
     android:drawable="@drawable/btn_default_disabled_holo_dark" /> 
</selector> 

現在Eclipse會抱怨說,它無法找到這些文件。您需要將它們從sdk.dir/platforms/android-15/data/res/drawable-xxx複製到您的項目中。注意你複製了ldpi,mdpi,hdpi和xhdpi版本。

現在在res/color文件夾中創建一個xml文件。我指定的名稱:primary_text_btn_start.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:color="@color/bright_foreground_disabled_holo_dark"/> 
    <item android:state_window_focused="false" android:color="@color/bright_foreground_holo_dark"/> 
    <item android:state_pressed="true" android:color="@color/bright_foreground_holo_dark"/> 
    <item android:state_selected="true" android:color="@color/bright_foreground_holo_dark"/> 
    <item android:state_activated="true" android:color="@color/bright_foreground_holo_dark"/> 
    <item android:color="@color/bright_foreground_holo_dark"/> <!-- not selected --> 
</selector> 

現在在res /價值觀缺失的顏色值添加到您的colors.xml。

<color name="bright_foreground_disabled_holo_dark">#ff4c4c4c</color> 
<color name="bright_foreground_holo_dark">#fff3f3f3</color> 

然後將新樣式應用到您的按鈕

android:background="@drawable/btn_start_activity" 
android:textColor="@color/primary_text_btn_start"