android - 如何在 Android Compose 中使用 otf 类型的字体文件?
问题描述
我正在学习使用 Android Jetpack Compose。现在我在assets/font中有一个Regular.otf字体文件。我想在文本中使用它。
java.lang.RuntimeException: Font asset not found /commonui/src/main/assets/font/Regular.otf
at android.graphics.Typeface.createFromFile(Typeface.java:998)
at android.graphics.Typeface.createFromFile(Typeface.java:1012)
我尝试了一些方法,但都没有解决。
val fontFamily = FontFamily(
typeface = Typeface.createFromFile("commonui/src/main/assets/font/Regular.otf")
)
Text(
text = "Font",
style = TextStyle(fontFamily = fontFamily)
)
解决方案
您需要根据谷歌的建议将字体重命名为小写。
此外,您可以使用以下方法设置字体:
myTextView.typeface = ResourcesCompat.getFont(this, R.font.regular)
有关更多详细信息,请参阅:
https ://johncodeos.com/how-to-add-custom-fonts-in-your-android-app-using-kotlin/
推荐阅读
- php - PHP ImagickDraw 线程化
- java - 如何将值从一个网站转移到另一个网站(Spring Boot - Angular)?
- java - 使用 ResultSet.getString() 或 ResultSet.getTimestamp() 获取时间戳更好吗?
- mysql - 如何将一个容器中的 mysql 数据库绑定到另一个运行我的 django 博客应用程序的容器(使用 docker-compose)
- sql-server - 如何将此格式化的 txt 文件导入 SQL Server 表
- sql - SQL 代码中带有外键的 SQL 名称错误
- r - Shiny 中 DT::RenderDataTable 中的颜色代码单元格
- python - 如何使用 Pandas 改进具有可迭代最大值的新列的巨大代码?
- python - 当我调用函数 def 时出现错误,因为_you_watched 错误是 sample() 缺少 1 个必需的位置参数:'k'
- c# - 将 Action<> 传递给异步方法