You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Relay插件导入Figma UI包后,无法修改build目录下LoginPage.kt怎么办?

解决方案

核心原因

build目录下的文件是Relay插件根据Figma设计自动生成的,每次项目构建都会被重新覆盖,直接修改这里的文件不仅无效,所有改动还会在下次构建时丢失。

正确修改步骤

1. 回到Figma绑定回调标识

在Figma的Relay插件中,为矢量图形设置onTap时,不要写具体逻辑,而是指定一个回调名称(比如onLoginButtonTap),然后重新导出UI包到Android Studio。此时生成的LoginPage.kt会包含这个回调参数,但不会包含业务逻辑。

2. 在业务目录创建自定义实现

在项目的src/main/kotlin下的业务包中,新建一个自定义容器文件(比如CustomLoginPage.kt),在其中引用Relay生成的LoginPage组件,并实现回调逻辑:

import com.yourproject.relay.generated.LoginPage

@Composable
fun CustomLoginPage(
    onLoginCompleted: () -> Unit
) {
    LoginPage(
        onLoginButtonTap = {
            // 在这里编写你的登录逻辑:比如校验输入、调用接口等
            onLoginCompleted()
        }
    )
}

3. 替换引用使用自定义容器

把项目中原本直接引用LoginPage的地方,换成CustomLoginPage,这样所有业务逻辑都在你可控的非生成目录中,不会被Relay的构建过程覆盖。

4. 调整UI结构的正确方式

如果需要修改组件的UI布局,不要动build目录的代码,直接回到Figma中调整设计,再重新导出UI包到Android Studio,Relay会自动更新生成的组件代码。


内容的提问来源于stack exchange,提问作者poxantidote

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 20:20:23