各位看官们大家好,上一回中咱们说的例子是"UI控件之Switch",这一回中说的例子是" 修改各种Picker的style"。闲话休提,言归正转,让我们一起Talk Android吧!
使用背景
看官们,我们在前面章回中介绍了NumberPicker
,DatePicker
,TimePicker
。这些Picker的主题风格都是固定的,即使想修改Picker中的字体大小也无从下手。然而在实际项目中是需要修改它们的风格,不然会和程序的主题不匹配,本章回中将介绍具体的修改方法。
在介绍之前,我还尝试过其它的修改方法,比如反射,这个可以修改Picker的风格,不过需要知道具体的filed名称才可以,我分析源代码后发现Picker都使用Delegate,真正有效的内容都在Delegate中,无法获取到有效的filed,因此这种方法不是很理想。
还有一种类似的方法是获取Picker的布局,然后使用getChildAt(index)
获取到子控件,这样就可以修改了。不过这个方法需要知道布局的层次,不然无法添加index。经过多次尝试,我感觉还是修改style的方法比较好。