Makepad路由技能Skill makepad-router

这是一个用于Makepad框架的问答路由技能,帮助开发者处理Makepad和Robius相关的UI开发问题,包括部件设计、布局管理、事件处理、动画效果和着色器编写等。关键词:Makepad, Robius, UI开发, Rust框架, 路由技能, 前端开发, 量化交易专家不适用此内容。

前端开发 0 次安装 0 次浏览 更新于 3/13/2026

名称: makepad-router 描述: “关键:用于所有Makepad/Robius相关问题,包括部件、布局、事件和着色器。 触发词:makepad, robius, live_design, app_main, Widget, View, Button, Label, Image, TextInput, ScrollView, RoundedView, SolidView, PortalList, Markdown, Html, TextFlow, 布局, Flow, Walk, 内边距, 外边距, 宽度, 高度, Fit, Fill, 对齐, 间距, 事件, 动作, Hit, FingerDown, FingerUp, KeyDown, handle_event, 点击, 轻触, 动画器, 动画, 状态, 过渡, 悬停, 按下, 缓动, 着色器, draw_bg, draw_text, Sdf2d, 像素, 渐变, 发光, 阴影, 字体, 文本样式, 字体大小, 字形, 排版, tokio, 异步, 产生, submit_async, SignalToUI, post_action, apply_over, TextOrImage, 模态, 可折叠, 拖放, 应用状态, 持久化, 主题, 范围, 部署, 包, APK, IPA, WASM, cargo makepad, makepad部件, makepad 组件, makepad 按钮, makepad 布局, makepad 事件, makepad 动画, makepad 着色器, 创建组件, 自定义组件, 开发应用, 居中, 对齐, 点击事件, 悬停效果, 渐变, 阴影, 字体大小” 全局模式: [“/live_design!*", "/*.rs”]

Makepad 问题路由器

版本: 2.0.0 | 最后更新: 2026-01-21

克劳德的指令

当此技能触发时,必须根据问题加载适当的子技能:

路由表

关键词 加载技能
live_design!, app_main!, 入门, 应用结构 makepad-basics
DSL, 继承, <Widget>, Foo = { } makepad-dsl
布局, Flow, Walk, 内边距, 宽度, 高度, 居中, 对齐 makepad-layout
View, Button, Label, Image, TextInput, 部件, Markdown, Html makepad-widgets
事件, 动作, Hit, FingerDown, handle_event, 点击 makepad-event-action
动画器, 状态, 过渡, 悬停, 按下 makepad-animation
着色器, draw_bg, Sdf2d, 渐变, 发光, 阴影 makepad-shaders
字体, 文本样式, 字体大小, 字形 makepad-font
平台, macOS, Android, iOS, WASM makepad-platform
tokio, 异步, 产生, submit_async robius-app-architecture
apply_over, 模态, 可折叠, pageflip robius-widget-patterns
自定义动作, MatchEvent, post_action robius-event-action
应用状态, 持久化, 主题切换 robius-state-management
部署, 包, APK, IPA makepad-deployment
故障排除, 错误, 调试 makepad-reference

上下文包加载

对于复杂任务,加载多个技能:

上下文 加载这些技能
创建部件/组件 makepad-widgets, makepad-dsl, makepad-layout, makepad-animation, makepad-shaders, makepad-event-action
构建完整应用 makepad-basics, makepad-dsl, makepad-layout, makepad-widgets, makepad-event-action, robius-app-architecture
UI设计 makepad-dsl, makepad-layout, makepad-widgets, makepad-animation, makepad-shaders
生产模式 robius-app-architecture, robius-widget-patterns, robius-state-management

技能依赖

当加载一个技能时,也加载其依赖:

技能 同时加载
makepad-widgets makepad-layout, makepad-dsl
makepad-animation makepad-shaders
makepad-shaders makepad-widgets
robius-widget-patterns makepad-widgets, makepad-layout

示例工作流

用户:"如何创建一个带有悬停动画的自定义按钮?"

分析:
1. 关键词:自定义, 按钮, 悬停, 动画
2. 上下文:部件创建
3. 加载:makepad-widgets, makepad-animation, makepad-shaders, makepad-event-action

使用所有加载技能的模式回答。

默认项目设置

创建Makepad项目时:

[package]
edition = "2024"

[dependencies]
makepad-widgets = { git = "https://github.com/makepad/makepad", branch = "dev" }

[features]
default = []
nightly = ["makepad-widgets/nightly"]

关键模式快速参考

部件定义

#[derive(Live, LiveHook, Widget)]
pub struct MyWidget {
    #[deref] view: View,
    #[live] property: f64,
    #[rust] state: State,
    #[animator] animator: Animator,
}

异步模式 (Robius)

// UI -> 异步
submit_async_request(MyRequest { ... });

// 异步 -> UI
Cx::post_action(MyAction { ... });
SignalToUI::set_ui_signal();