问题描述
在我的自定义视图库中,我想让用户能够为文本使用自定义字体,为此,我做了以下工作:
属性定义如下:
<attr name="gb_fontFamily" format="reference"/>
它在类的构造函数中作为资源 ID 被检索,如下所示:
textFont = getResourceId(R.styleable.gb_fontFamily,0)
然后 textFont
在 onMeasure() 块中设置为 textPaint 字体,如下所示:
(必须在onMeasure块中赋值,因为视图的大小是根据文本的长度和高度计算的。不过,我是否在onMeasure()、onLayout()中赋值都没有关系,onSizeChanged() 或 onDraw(),我在所有情况下仍然会出现问题)
textPaint.typeface = ResourcesCompat.getFont(context,textFont)
现在运行时一切正常。但是,问题是在 android studio 中,当用户为视图设置属性时,只要将 gb_fontFamily
设置为一个值,例如“@font/custom-font”,视图就会从布局如下图所示:
设置字体前:
设置字体后:
是否有解决方法或解决方法?因为这对于想要使用我的图书馆的人来说是个问题。
提前致谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)