【问题标题】:How to customize the NumberPicker如何自定义 NumberPicker
【发布时间】:2013-09-30 03:27:33
【问题描述】:

我找到了 2 个内置的 NumberPickers:


(来源:techbooster.org

默认情况下是第一个,但是当我在AndroidManifest.xml中添加android:theme="@android:style/Theme.NoTitleBar"时,它变成了第二个。

我怎样才能把这条线(我需要它)仍然得到第一个 NumberPicker?

【问题讨论】:

标签: android numberpicker


【解决方案1】:

您正在设置非全息主题,因此您将获得非全息数字选择器。

将此作为参考,它基本上与您要求的相同

Remove titlebar in xml

【讨论】:

    【解决方案2】:

    问题在于@android:style/Theme 是 API 版本 10 (2.3) 及更低版本的设备的 Android 主题。

    如果你想继续支持 Holo,你应该使用@android:style/Theme.Holo

    如果您还需要支持没有 Holo 的设备,则需要创建 asset folders for those devices 并在那里指定主题。

    【讨论】:

      【解决方案3】:

      你可以使用:

      android:theme="@android:style/Theme.Holo.NoActionBar" 
      

      如果您不想显示 ActionBar 并仍然获得 Holo 样式的 NumberPicker。

      【讨论】:

        【解决方案4】:

        有一个名为 BaseActivity 的超类,它被您应用中的所有活动扩展。在它的 onCreate 中调用这个

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        

        它会从您的所有活动中删除标题栏,您可以使用任何您想要的主题。唯一的缺点是标题栏会在启动应用时出现几分之一秒,但不会再次出现。

        【讨论】:

          【解决方案5】:

          此外,您还可以更改以下属性:

          您在 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 ... 是主要的全息颜色 以及带有自定义形状的背景以获得额外的颜色:

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-12-26
            • 2013-08-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多