【问题标题】:TimePickerDialog: Change hours/minutes text sizeTimePickerDialog:更改小时/分钟文本大小
【发布时间】:2020-02-21 18:15:21
【问题描述】:

我想将时间字体如下更改为 42sp。 TimePickerDialog可以更改字体大小吗?

【问题讨论】:

    标签: java android android-layout android-view android-timepicker


    【解决方案1】:

    TimePickerDialog 的设计方式不是,允许客户更改字体大小。因此,强烈建议不要这样做。

    不过,如果出于某种特定原因需要这样做,您可以坚持以下棘手且不可靠的方式:

          val mTimePickerField = TimePickerDialog::class.java.getDeclaredField("mTimePicker")
          mTimePickerField.isAccessible = true
    
          val mTimePicker = mTimePickerField.get(timePickerDialog) as TimePicker
          val hours: TextView? = mTimePicker.findViewById(resources.getIdentifier("android:id/hours", "id", packageName))
          val separator: TextView? = mTimePicker.findViewById(resources.getIdentifier("android:id/separator", "id", packageName))
          val minutes: TextView? = mTimePicker.findViewById(resources.getIdentifier("android:id/minutes", "id", packageName))
    
          hours?.textSize = 12f
          separator?.textSize = 12f
          minutes?.textSize = 12f
    

    你会得到什么:

    time_picker_header_material.xmlTimePickerDialog 将膨胀的实际标题布局,因此您可以根据需要使用与小时/分隔符/分钟相同的方法来增强 am/pm 字段。

    【讨论】:

    • 我对你给出的代码很理想....但我使用的是java,所以我不知道如何将代码更改为java。希望你能用java教我
    【解决方案2】:

    我遇到了类似的问题。我终于使用这个 GitHub library 来自定义文本大小。该库的Issue 1Issue 2 可以为您指出如何增加文本大小。代码是Java

    【讨论】:

      【解决方案3】:

      默认情况下时间选择器有自己的样式,但是如果你定义了其他自定义的文本视图样式,那么时间选择器的标题会受到影响。所以要解决这个问题,你必须给自定义样式如下

      打开你的 style 或 theme.xml 文件

      在样式标签内添加以下项目

              <item name="android:timePickerDialogTheme">@style/customTimePickerDialogTheme</item>
      
      

      然后在默认样式标签外(资源内)添加如下样式

        <style name="customTimePickerDialogTheme" parent="@style/Theme.AppCompat.Light.Dialog">
              <item name="android:headerBackground">#ff80cbc4</item>
          </style>
      

      通过这种方式,我们实现了默认的自定义时间选择器设计。现在您可以使用 customTimePickerDialogTheme 中的其他属性更改字体、texsize、颜色。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-10
        • 2021-08-25
        • 1970-01-01
        • 2021-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-15
        相关资源
        最近更新 更多