我想将以下时间的字体更改为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.xml
是TimePickerDialog
将膨胀的实际标题布局,因此您可以按照与小时/分隔符/分钟相同的方法,根据需要增强am / pm字段。