返回 Skill 列表
extension
分类: 开发与工程无需 API Key

scrcpy-option-ui-builder

此技能应修改类别屏幕,并根据选项类型(文本、切换、下拉等)在用户界面上添加所需的scrcpy选项。使用此技能在用户界面上添加新的scrcpy选项。

person作者: jakexiaohubgithub

Scrcpy option UI builder

Working directory: /lib/presentation/scrcpy_config/

UI option screens are present in @lib/presentation/scrcpy_config.

Common, re-usable widgets are present in @lib/presentation/scrcpy_config/widgets.

Steps

  1. Gather information
  2. Extend or create UI code in the <category_screen>.dart file
  3. Create necessary translations for the the UI Control

1. Gather information

  • Refer to /docs/scrcpy_options to find information about the scrcpy option (Argument, name, description, is advanced).
  • Find the corresponding argument class in /lib/application/model/scrcpy/arguments/
  • If the argument class doesn't exist, first create it using this skill
  • Use this argument class in the UI code to get existing value and to update it.

2. Create <category_screen>.dart

2. Extend existing UI Code

  • If the <category_screen>.dart file for requested scrcpy option and the respective category already exists, then extend the Scrollable Column, with the new control(s)

Use /lib/presentation/scrcpy_config/widgets/config_item.dart for wrapping the actual UI control.

  • The ConfigItem widget expects:
  1. label (key and translation label) to show title, description and argument tooltip.
  2. child the actual control widget (toggle/switch/text input/comboBox/etc.)

3. Create translations

  • Currently, the project only supports english language.
  • The translation file is present here
  • Refer to the existing translations under this path inside the JSON: e.g. confg/video/noVideo
  • Expected path: config/<category>/<argument.label>
  • Required translations: title, description, arg
  • Optional: default (default value for the control e.g. for comboBox)