Skip to main content

ui-devsimple-viewtheme

为布局 XML 中的控件默认补全 DevSimple(lib/DevSimple)的 ViewTheme 样式引用: 按控件继承链匹配 ViewTheme.<类名>,ImageView/AppCompatImageView 使用 ViewTheme.ImageView.FIT_XY,无匹配则用 ViewTheme.View。工作区内优先 Read lib/DevSimple;根样式清单见同目录 references/reference.md。在编写或批量整理 layout XML、 引入 ViewTheme、迁移旧布局、或用户提到 DevSimple/ViewTheme 时使用。

Source facts

Repository
afkT/DevUtils
Last source activity
June 27, 2026 at 19:12
Detected SKILL.md language
Chinese
Stars
1,613
Forks
315

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
ui-devsimple-viewtheme
description
为布局 XML 中的控件默认补全 DevSimple(lib/DevSimple)的 ViewTheme 样式引用: 按控件继承链匹配 ViewTheme.<类名>,ImageView/AppCompatImageView 使用 ViewTheme.ImageView.FIT_XY,无匹配则用 ViewTheme.View。工作区内优先 Read lib/DevSimple;根样式清单见同目录 references/reference.md。在编写或批量整理 layout XML、 引入 ViewTheme、迁移旧布局、或用户提到 DevSimple/ViewTheme 时使用。
# DevSimple 布局 XML 默认 ViewTheme 样式 ## 模块路径(本地优先) | 符号 | 当前值 | |------|--------| | `DEVSIMPLE_ROOT` | `lib/DevSimple` | | `DEVSIMPLE_VALUES` | `{DEVSIMPLE_ROOT}/src/main/res/values` | 存在 `{DEVSIMPLE_ROOT}` 时 **Read 本地 XML**,勿用 WebFetch 代替。根样式全表、继承链、资源文件索引与 grep 维护步骤 → [references/reference.md](references/reference.md)。 ## 何时应用 - 新建或编辑 `res/layout/**/*.xml` 中的控件,需要统一默认宽高与主题习惯时。 - 用户要求为 View 补上 DevSimple / `ViewTheme` 的 `style` 时。 ## 前置假设 - 模块已依赖 DevSimple,R 中可解析 `@style/ViewTheme.*`。 - 样式名是否存在:以 [references/reference.md §根样式表](references/reference.md#根样式表控件向可直接作默认-style) 为准;若存疑或久未同步,在 `{DEVSIMPLE_VALUES}` **grep** `name="ViewTheme.` 后更新 reference(见 reference §扫描与更新)。 ## 核心规则(按顺序执行) 1. **已有 `style`/`android:theme`**:不要覆盖用户显式配置;除非用户明确要求替换。 2. **解析控件「语义类名」**: - XML 为完整类名时取**简单类名**(如 `RecyclerView`)。 - AppCompat / Material:沿继承向平台 Widget 回退,取**第一个在 reference 根样式表中出现的简单类名**。 例:`AppCompatEditText` → `EditText`;`MaterialButton` → `Button`。 3. **ImageView 特例**:`ImageView` / `AppCompatImageView` 一律 `style="@style/ViewTheme.ImageView.FIT_XY"`(不用 `ViewTheme.ImageView` 作默认)。 4. **匹配根样式**:若 reference 根样式表存在 `ViewTheme.<语义类名>`,则 `style="@style/ViewTheme.<语义类名>"`(ImageView 已按上一步处理)。 5. **ViewPager2**:无 `ViewTheme.ViewPager2`;使用 `style="@style/ViewTheme.ViewPager"`。 6. **无匹配**:`style="@style/ViewTheme.View"`。 7. **写法**:`style` 放在标签属性前列(与项目现有 XML 风格一致)。 继承链与常见标签对照 → [references/reference.md §继承链速查](references/reference.md#继承链速查xml-标签--语义类名)。需要 Match / Gravity / 子样式时 → [references/reference.md §子样式命名规律](references/reference.md#子样式命名规律按需拼接)。 ## 示例 ```xml <androidx.core.widget.NestedScrollView style="@style/ViewTheme.NestedScrollView"> <androidx.recyclerview.widget.RecyclerView style="@style/ViewTheme.RecyclerView" /> <androidx.appcompat.widget.AppCompatImageView style="@style/ViewTheme.ImageView.FIT_XY" android:layout_width="match_parent" android:layout_height="120dp" /> <androidx.appcompat.widget.AppCompatEditText style="@style/ViewTheme.EditText" /> </androidx.core.widget.NestedScrollView> ``` 无库内主题的控件: ```xml <androidx.appcompat.widget.SwitchCompat style="@style/ViewTheme.View" android:layout_width="wrap_content" android:layout_height="wrap_content" /> ``` ## 执行清单 - [ ] 已 Read [references/reference.md](references/reference.md) 根样式表(或已 grep `{DEVSIMPLE_VALUES}` 核对)。 - [ ] 未覆盖用户已有 `style`(除非明确要求)。 - [ ] ImageView / ViewPager2 特例已套用。 - [ ] DevSimple 有新增 `ViewTheme` 时,按 reference §扫描与更新 同步 reference,勿只改 SKILL。
View on GitHub