我正在使用三个 NumberPickers 在不同的日历系统中创建一个 DatePicker,并尝试将字体设置为 NumberPicker 控件。根据 this在 SO 上发帖, 我查看了 number_picker.xml。 numberpicker 是使用两个 ImageButton 和一个 EditText 创建的,如下所示:
<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,而不是它上面和底部的文本),但是随着数字选择器的滑动,字体会变回原来的样子。
最佳答案
我们可以使用这个 fontify 库轻松应用字体 (TTF)。查看完整的唤醒演示 here
关于Android - 如何将字体分配给 NumberPicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23758040/