| 类别 | 文本内容 (Content) | 尺寸与布局 (Size & Layout) | 颜色与背景 (Color & Background) | 边框与轮廓 (Border & Outline) | 文本样式 (Typography) | 变换与效果 (Transform & Effect) | 状态与交互反馈 (State & Feedback) |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| **具体属性名** | `text` / `content` / `title` | `width`<br>`height`<br>`minWidth` / `maxWidth`<br>`minHeight` / `maxHeight`<br>`padding`<br>`margin`<br>`constraints`<br>`aspectRatio`<br>`alignment` (子控件位置) | `backgroundColor`<br>`background` (drawable/image)<br>`foreground`<br>`color` / `textColor`<br>`tintColor` / `colorFilter`<br>`shadow` (offset, radius, color)<br>`opacity` / `alpha` | `borderWidth`<br>`borderColor`<br>`borderRadius`<br>`borderStyle` (solid, dashed, dotted)<br>`outline` | `fontSize`<br>`fontFamily`<br>`fontWeight`<br>`fontStyle` (normal, italic)<br>`letterSpacing`<br>`lineHeight`<br>`textDecoration` (underline, line-through)<br>`textAlign` / `gravity` (文字位置)<br>`textOverflow` / `maxLines` | `scale` (x, y)<br>`rotation` (z, x, y)<br>`translate` (x, y)<br>`blur`<br>`brightness`<br>`contrast`<br>`saturation`<br>`clip` (circle, path) | `state` (normal, pressed, focused, disabled, selected, error)<br>（所有上述属性均可按状态单独设置） |
| **具体例子<br>(登录按钮)** | `text = "登录"` | `width = 200vp`<br>`height = 48vp`<br>`padding = 12vp`<br>`margin = 16vp`<br>`alignment = center` (在父容器中居中) | `backgroundColor = #007AFF`<br>`textColor = #FFFFFF`<br>`shadow(offset=0, radius=4, color=#40000000)` | `borderRadius = 24vp`<br>`borderWidth = 0`<br>`borderStyle = solid` | `fontSize = 16fp`<br>`fontWeight = bold`<br>`fontFamily = sans-serif-medium`<br>`textAlign = center` (文字在按钮内居中) | `scale = 0.95` (按下时)<br>`opacity = 0.8` (禁用时) | `normal`: 蓝色背景<br>`pressed`: 深蓝色背景<br>`disabled`: 灰色背景<br>`loading`: 显示进度圈 |

## Dynamic / Transient UI Effects

This section captures UI behaviors that are NOT visible in a static screenshot or view tree: animations, transient messages, and non-touch-triggered UI.

| Effect Type | Trigger | Duration/Timing | Target Component | Parameters | Source Reference |
|:---|:---|:---|:---|:---|:---|
| animation | e.g., page enter / button click | e.g., 300ms, ease-out | e.g., title_text | e.g., alpha 0→1, translateY -20→0 | file:line |
| transient UI | e.g., save success / network error | e.g., 2000ms auto-dismiss | e.g., Toast / Snackbar | e.g., text="保存成功", position=bottom | file:line |
| voice/sensor | e.g., mic button click / shake | e.g., until recognition ends | e.g., voice_wave_view | e.g., waveform animation + result overlay | file:line |

Fill only rows that exist for this page. Omit this section entirely if no dynamic effects are found.

## Multi-State Component Analysis (Step 1.5 components only)

When a component is identified as multi-state in Step 1.5, expand the "状态与交互反馈" column into a full state breakdown below:

### Component: {ComponentName}
**State variable**: `{var_name}` — Type: `{enum/sealed class/@State}`  
**Total states**: {N}

| State | Visibility | Background | Text Content | Text Style | Border | Animation | Trigger to Enter |
|:------|:-----------|:-----------|:-------------|:-----------|:-------|:----------|:-----------------|
| idle | VISIBLE | transparent | "问AI或按住说话" | 14fp #666666 | none | none | initial / cancel / recognized complete |
| recording | VISIBLE | #FFFFFF | "松手发送，上移取消" | 14fp #666666 | none | blue glow pulse | LongPress mic 500ms |
| cancelling | VISIBLE | #FFE5E5 | "上移取消" | 14fp #FF4444 | 2vp dashed #FF4444 | red border dash animation | Pan.UP > 150vp |

**Source references**: List the source file(s) and line ranges where each state's UI properties are defined.

This section supplements (not replaces) the main component table. The main table should show the component's **default/idle state** properties. This expanded section shows how properties change per state.