【发布时间】:2013-09-30 03:27:33
【问题描述】:
我找到了 2 个内置的 NumberPickers:
(来源:techbooster.org)
默认情况下是第一个,但是当我在AndroidManifest.xml中添加android:theme="@android:style/Theme.NoTitleBar"时,它变成了第二个。
我怎样才能把这条线(我需要它)仍然得到第一个 NumberPicker?
【问题讨论】:
标签: android numberpicker
我找到了 2 个内置的 NumberPickers:
(来源:techbooster.org)
默认情况下是第一个,但是当我在AndroidManifest.xml中添加android:theme="@android:style/Theme.NoTitleBar"时,它变成了第二个。
我怎样才能把这条线(我需要它)仍然得到第一个 NumberPicker?
【问题讨论】:
标签: android numberpicker
【讨论】:
问题在于@android:style/Theme 是 API 版本 10 (2.3) 及更低版本的设备的 Android 主题。
如果你想继续支持 Holo,你应该使用@android:style/Theme.Holo。
如果您还需要支持没有 Holo 的设备,则需要创建 asset folders for those devices 并在那里指定主题。
【讨论】:
你可以使用:
android:theme="@android:style/Theme.Holo.NoActionBar"
如果您不想显示 ActionBar 并仍然获得 Holo 样式的 NumberPicker。
【讨论】:
有一个名为 BaseActivity 的超类,它被您应用中的所有活动扩展。在它的 onCreate 中调用这个
requestWindowFeature(Window.FEATURE_NO_TITLE);
它会从您的所有活动中删除标题栏,您可以使用任何您想要的主题。唯一的缺点是标题栏会在启动应用时出现几分之一秒,但不会再次出现。
【讨论】:
此外,您还可以更改以下属性:
您在 exampleActivity.xml 中的 numberpicker 定义
<NumberPicker
<!-- ... -->
android:background="@drawable/customshape" />
drawable/customshape.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient
android:startColor="@color/numberpicker_color_range_start"
android:endColor="@color/numberpicker_color_range_end"
android:angle="270"/>
</shape>
solidColor ... 是主要的全息颜色 以及带有自定义形状的背景以获得额外的颜色:
【讨论】: