我发现了 2 个内置的 NumberPickers:
(来源:techbooster.org)
默认情况下,它是第一个,但是当我添加android:theme="@android:style/Theme.NoTitleBar"
AndroidManifest.xml 时,它变成了第二个。
我怎样才能把这条线(我需要它),仍然得到第一个 NumberPicker?
我发现了 2 个内置的 NumberPickers:
(来源:techbooster.org)
默认情况下,它是第一个,但是当我添加android:theme="@android:style/Theme.NoTitleBar"
AndroidManifest.xml 时,它变成了第二个。
我怎样才能把这条线(我需要它),仍然得到第一个 NumberPicker?
问题在于@android:style/Theme
API 版本 10 (2.3) 及更低版本的设备的 Android 主题。
如果你想保持 Holo 支持,你应该使用@android:style/Theme.Holo
.
如果您还需要支持没有 Holo 的设备,则需要为这些设备创建资产文件夹并在其中指定主题。
您可以使用:
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 ... 是主要的全息颜色和带有自定义形状的背景以获得额外的颜色: