安卓文档显示,androidx.wear.watchface.complications.rendering.ComplicationDrawable具有textTypeface和titleTypeface属性。但我没有找到如何使用它的信息。我试图传递字体资源,字体-家庭资源,但这没有任何影响。我需要通过什么才能产生效果?
是否可以在Drawable complication中更改字体样式?
发布于 2022-02-25 19:59:37
对于复杂的情况,可以应用自定义字体。
下面是我如何获得它的方法(在使您变得复杂之前使用它--当调用complication.render(canvas, zonedDateTime, renderParameters)时):
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进行测试)
发布于 2022-02-23 16:02:22
虽然无法更改字体本身(据我所知),但您可以更改字体。如果您查看谷歌在GitHub上的手表脸示例项目,您可以在绘图文件夹中找到一些复杂的样式。在这里,您将看到如何更改字体的示例:
app:textTypeface="sans-serif-condensed"
app:titleTypeface="sans-serif-condensed"我还没有找到所有可用选项的完整的最新列表,但在过去为Roboto工作的一些选项是:
"sans-serif"
"sans-serif-light"
"sans-serif-condensed"
"sans-serif-black"
"sans-serif-thin"
"sans-serif-medium"https://stackoverflow.com/questions/71206665
复制相似问题