在自定义视图中设置字体字体可防止视图在 Android Studio 中的 xml 布局中显示

问题描述

在我的自定义视图库中,我想让用户能够为文本使用自定义字体,为此,我做了以下工作:

属性定义如下:

<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”,视图就会从布局如下图所示:

设置字体前:

enter image description here

设置字体后:

enter image description here

是否有解决方法解决方法?因为这对于想要使用我的图书馆的人来说是个问题。

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)