我试图在android studio中为文本视图设置字体,但由于某些原因,我无法访问字体目录。
我得到未解决的引用:font
我做了什么
-右键单击res>创建新目录;新>Android资源目录>目录名称:font>资源类型:字体
-将我的字体放在该目录中,因此该目录读取-res/font/myfont.ttf
-在我的片段中,我试图访问类似的字体
var typeFace: Typeface? = ResourcesCompat.getFont(requireContext(), R.font.myfont.ttf)
错误显示未解决的引用:font
我试图重建这个项目,但仍然没有成功。
使用:
typeFace:字体?=ResourcesCompat.getFont(requireContext((,R.font.myfont(
不要添加.ttf
扩展名。
公共静态Typeface getFont(上下文上下文,int id(
返回与特定资源ID关联的字体字体。
尝试
typeFace: Typeface? = ResourcesCompat.getFont(requireContext(), R.font.myfont)
仅供参考-阅读有关Fonts in XML
的官方指南
Android8.0(API 26级(引入了一个新功能,即XML中的字体,它允许您将字体用作资源。您可以在res/font/文件夹中添加字体文件,将字体作为资源捆绑在一起。这些字体在您的R文件中编译,并在Android Studio中自动提供。您可以在新资源类型font的帮助下访问字体资源。例如,要访问字体资源,请使用@font/myfont
或R.font.myfont
。
注意
您可以直接调用自定义字体ttf/otf。使用createFromAsset
val font = Typeface.createFromAsset(requireContext().assets,"font/myfont.ttf")
问题在于:
-
";R〃类导入的是框架资源">安卓。R";
-
我不得不删除它并导入我的项目"R〃类";com.myproject.project.R">
然后像这样调用
val typeFace: Typeface? = ResourcesCompat.getFont(requireContext(), R.font.poppings)
再次无错误。