2012-05-05 28 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"