首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android可组合文本在收到Color参数时中断预览。有解决办法吗?

Android可组合文本在收到Color参数时中断预览。有解决办法吗?
EN

Stack Overflow用户
提问于 2021-09-08 02:58:42
回答 1查看 165关注 0票数 1

在任何到大黄蜂2011.1.1金丝雀11的Android版本上,下面的视图都不会呈现,实际上会以意想不到的方式破坏预览者。

代码语言:javascript
复制
@Preview
@Composable
fun ColoredText(color: Color = Color.Red) = Text("text")

稳定版本的北极狐抛出一个MethodNotFoundError,而金丝雀发出警告说它找不到视图。我怎样才能让预览再次工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-08 04:41:56

对于@Preview Composables,主要限制是预览可组合函数不能接受任何参数

您的ColoredText可组合使用color: Color = Color.Red作为参数,因此不会呈现。您还将看到代码中以红色高亮显示的@Preview Annotation

要预览您的代码,您可以使一个名为ColoredTextPreview()的预览可组合,它不接受任何参数。使用此方法预览ColoredText()并传递颜色参数

代码语言:javascript
复制
@Preview
@Composable
//preview doesn't accept parameters
fun ColoredTextPreview() = ColoredText(Color.Red)

@Composable
//create a 2nd non-preview composable that accepts parameters
fun ColoredText(color1: Color = Color.Red) {
    Text(
        text = "text",
        color = color1,
        modifier = Modifier.fillMaxWidth()
    )
}

一定要在导入语句中包括这一行代码,以帮助处理颜色。

代码语言:javascript
复制
import androidx.compose.ui.graphics.Color

谢谢,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69096473

复制
相关文章

相似问题

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