我目前正在开发一个在android api 4(1.6)及以上版本上运行的应用程序。然而,它在android 4上看起来非常好(它有新的按钮样式),但在下面的所有平台上看起来都很愚蠢,包括1.6(按钮样式有些尴尬)。如何将Android 4按钮样式移植到较低平台?
如何平等地在所有平台上制作按钮视图? 我可否将android 4 button style
复制到我的项目中以解决此问题? 如果是,我可以在哪里找到这种风格。
这是它应该是什么样子到处:
我目前正在开发一个在android api 4(1.6)及以上版本上运行的应用程序。然而,它在android 4上看起来非常好(它有新的按钮样式),但在下面的所有平台上看起来都很愚蠢,包括1.6(按钮样式有些尴尬)。如何将Android 4按钮样式移植到较低平台?
如何平等地在所有平台上制作按钮视图? 我可否将android 4 button style
复制到我的项目中以解决此问题? 如果是,我可以在哪里找到这种风格。
这是它应该是什么样子到处:
是的,你可以做到这一点。您只需要创建一个自定义背景并从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"
你可以在这里找到所有可绘制和样式:https://github.com/android/platform_frameworks_base/tree/master/core/res/res
如果你想利用刚刚按钮更是让人挑与每个密度和样式相对应的绘图。这些位于“值”文件夹下的相同位置。
你见过http://developer.android.com/design/downloads/index.html? –