我使用三个NumberPickers在不同的日历系统中创建一个DatePicker,并尝试将字体设置为NumberPicker控件。根据SO this帖子, 我看了一下number_picker.xml。 numberpicker是使用两个ImageButton创建的,一个EditText是Follows:
<merge>
<ImageButton ... />
<EditText .../>
<ImageButton ... />
</merge>
所以,作为一个示例,我在NumberPickers年使用了以下代码:
NumberPicker date_y = (NumberPicker) findViewById(R.id.np_year);
Typeface tf;
tf = Typeface.createFromAsset(getAssets(),"fonts/bnazaninbd.ttf");
EditText et = (EditText) date_y.getChildAt(0);
et.setTypeface(tf);
第一个问题是为什么getChildAt(0)适用于编辑文本,虽然编辑文本是第二个对象,它应该是getChildAt(1)。
第二,当Activity加载时(但只是EditText,而不是上面和下面的文本),editText字体会改变,但随着numberpicker的滑动,Typeface会改回原来的状态。