首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android复杂系统中文本字体的更改

android复杂系统中文本字体的更改
EN

Stack Overflow用户
提问于 2022-02-21 12:53:31
回答 2查看 185关注 0票数 1

安卓文档显示,androidx.wear.watchface.complications.rendering.ComplicationDrawable具有textTypeface和titleTypeface属性。但我没有找到如何使用它的信息。我试图传递字体资源,字体-家庭资源,但这没有任何影响。我需要通过什么才能产生效果?

是否可以在Drawable complication中更改字体样式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-25 19:59:37

对于复杂的情况,可以应用自定义字体。

下面是我如何获得它的方法(在使您变得复杂之前使用它--当调用complication.render(canvas, zonedDateTime, renderParameters)时):

代码语言:javascript
复制
ComplicationDrawable.getDrawable(context, complicationStyle)?.apply {
    activeStyle.run {
        //... other attributes
        setTextTypeface(ResourcesCompat.getFont(context!!, R.font.your_font_resource)!!)
    }
    (complication.renderer as CanvasComplicationDrawable).drawable = this
}

我知道这不是最好的实现,但它正在工作(用android 11,galaxy 4 one ui 4.0进行测试)

票数 0
EN

Stack Overflow用户

发布于 2022-02-23 16:02:22

虽然无法更改字体本身(据我所知),但您可以更改字体。如果您查看谷歌在GitHub上的手表脸示例项目,您可以在绘图文件夹中找到一些复杂的样式。在这里,您将看到如何更改字体的示例:

代码语言:javascript
复制
app:textTypeface="sans-serif-condensed"
app:titleTypeface="sans-serif-condensed"

我还没有找到所有可用选项的完整的最新列表,但在过去为Roboto工作的一些选项是:

代码语言:javascript
复制
"sans-serif"
"sans-serif-light"
"sans-serif-condensed"
"sans-serif-black"
"sans-serif-thin"
"sans-serif-medium"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71206665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档