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

最佳答案

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字段。

09-05 05:18