首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >撰写:从另一个TextStyle继承TextStyle

撰写:从另一个TextStyle继承TextStyle
EN

Stack Overflow用户
提问于 2021-08-18 10:13:19
回答 2查看 412关注 0票数 1

在我的应用程序中,我有一些风格继承了另一种风格,比如:

styles.xml

代码语言:javascript
复制
<style name="RegularM">
    <item name="android:textSize">18sp</item>
    <item name="android:fontFamily">@font/regular</item>
</style>

<style name="ListRow" parent="RegularM">
    <item name="android:textColor">@color/black</item>
</style>

这使得ListRow条目成为带有18 and的黑色文本,并使用常规字体。

所以,现在我把这个转换成作品。

Fonts.kt

代码语言:javascript
复制
val Regular = FontFamily(
     Font(R.font.regular),
)

val RegularM = TextStyle(
     fontFamily = Regular,
     fontSize = 18.sp
)

到现在为止还好。

现在我想创建ListRow TextStyle:

代码语言:javascript
复制
val ListRow = TextStyle(
    color = Black,
    ? inherit from RegularM
)

但我不能继承RegularM的遗产。我必须为ListRow TextStyle重新键入每个属性。但这似乎是不对的。

我是如何从RegularM继承的,还是对此使用TextStyle是错误的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-18 10:18:22

TextStyle不是一个数据类,但是仍然实现了copy(...)方法,您完全可以使用它来解决这个问题:

代码语言:javascript
复制
var ListRow = RegularM.copy(color = Black)
票数 2
EN

Stack Overflow用户

发布于 2021-08-18 11:13:51

使用TestStyle,您可以使用@Philip的copy方法as suggested,但也可以使用方法。

示例:

代码语言:javascript
复制
Text(text = "This is my text",
    style = ( 
      RegularM.merge(TextStyle(color = Black))
    )
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68830471

复制
相关文章

相似问题

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