Android - 如何将字体分配给 NumberPicker

标签 android typeface numberpicker

我正在使用三个 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/

相关文章:

android - 如何通过将其他对象字段保存为索引来按对象字段对 MutableMap 进行排序?

更改字体后的 Android 字体样式不起作用

android - 更改选项卡标题的字体 - ActionBarSherlock

r - pdf 设备和字体系列 "Arial"/或 : Change font name (not font) in PDF

Android ImageView 不会匹配_parent 宽度

android - 在 Android Studio 中创建项目与构建项目

android - 如何从 Android TextView 中的自动链接中排除某些数字

android - 设置值时未调用 NumberPicker OnValueChangeListener

ios - 如何快速修复 "Cannot subscript a value of type ' ClosedRange<Int >' with an index of type ' Int'

java - 将 NumberPicker 值添加到数据库