Skip to content

按钮与显示 Buttons & Display

MiuixButton

Miuix 风格的按钮,默认次级配色,可点击并带按压遮罩。

参数类型默认值说明
onPressedVoidCallback?必填点击回调,为 null 时视为禁用
childWidget必填按钮内容
enabledbooltrue是否启用
cornerRadiusdouble16squircle 圆角半径
minWidthdouble58最小宽度
minHeightdouble40最小高度
colorsMiuixButtonColors?null(默认 MiuixButtonDefaults.buttonColors,次级色)颜色配置
insideMarginEdgeInsetsGeometryEdgeInsets.symmetric(horizontal: 16, vertical: 13)内边距

示例:

dart
MiuixButton(
  onPressed: () {},
  child: const MiuixText('确定'),
)

MiuixTextButton

文本按钮,内部构建一个 MiuixButton 并居中放置文字。

参数类型默认值说明
textString必填(位置参数)按钮文字
onPressedVoidCallback?必填点击回调,为 null 时视为禁用
enabledbooltrue是否启用
cornerRadiusdouble16squircle 圆角半径
minWidthdouble58最小宽度
minHeightdouble40最小高度
colorsMiuixButtonColors?null(默认次级色)颜色配置
insideMarginEdgeInsetsGeometryEdgeInsets.symmetric(horizontal: 16, vertical: 13)内边距
textStyleTextStyle?null(默认 textStyles.button文字样式

示例:

dart
MiuixTextButton('取消', onPressed: () {})

MiuixButtonColors

按钮颜色配置,四个字段均为必填。

参数类型默认值说明
colorColor必填容器背景色
disabledColorColor必填禁用时容器背景色
contentColorColor必填内容色
disabledContentColorColor必填禁用时内容色

示例:

dart
const MiuixButtonColors(
  color: Colors.blue,
  disabledColor: Colors.blueGrey,
  contentColor: Colors.white,
  disabledContentColor: Colors.white70,
)

MiuixButtonDefaults

私有构造,仅 static 字段/方法。

常量说明
minWidth58最小宽度
minHeight40最小高度
cornerRadius16squircle 圆角半径
insideMarginEdgeInsets.symmetric(horizontal: 16, vertical: 13)内边距
静态方法返回说明
buttonColors(BuildContext)MiuixButtonColors默认次级按钮颜色
buttonColorsPrimary(BuildContext)MiuixButtonColors主色按钮颜色

MiuixIconButton

Miuix 风格的图标按钮,默认圆形(直径 40),背景透明。

参数类型默认值说明
onPressedVoidCallback?必填点击回调,为 null 时视为禁用
childWidget必填图标内容
enabledbooltrue是否启用
backgroundColorColor?null背景色,null 表示透明
cornerRadiusdouble40圆角半径(默认圆形)
minHeightdouble40最小高度
minWidthdouble40最小宽度
holdDownStateboolfalse强制按住视觉态(如下拉菜单展开期间)

示例:

dart
MiuixIconButton(
  onPressed: () {},
  child: MiuixIcon(vector: MiuixIcons.extended.byName('settings')!),
)

MiuixIconButtonDefaults

私有构造,仅 static 字段/方法。

常量说明
minWidth40最小宽度
minHeight40最小高度
cornerRadius40圆角半径(圆形,直径 40)

MiuixFloatingActionButton

Miuix 风格的浮动操作按钮,圆形背景加阴影,内容色默认继承 onSurface

参数类型默认值说明
onPressedVoidCallback?必填点击回调,为 null 时视为禁用
childWidget必填子节点
enabledbooltrue是否启用
shapeShapeBorderStadiumBorder()形状
containerColorColor?null(默认 colors.primary容器背景色
shadowElevationdouble4阴影高度(逻辑像素)
minWidthdouble60最小宽度
minHeightdouble60最小高度

示例:

dart
MiuixFloatingActionButton(
  onPressed: () {},
  child: MiuixIcon(vector: MiuixIcons.extended.byName('add')!),
)

MiuixFloatingActionButtonDefaults

私有构造,仅 static 字段/方法。

常量说明
minWidth60默认最小宽度
minHeight60默认最小高度
shadowElevation4默认阴影高度
shapeStadiumBorder()默认形状;正方形 bounds 下为正圆,矩形下为胶囊

MiuixCard

Miuix 风格的卡片,squircle 圆角,向下传递内容色,可选点击与按压反馈。

参数类型默认值说明
cornerRadiusdouble16圆角半径
insideMarginEdgeInsetsGeometryEdgeInsets.zero内边距
colorsMiuixCardColors?null(默认 surfaceContainer / onSurfaceContainer)颜色配置
onPressedVoidCallback?null点击回调
onLongPressVoidCallback?null长按回调
feedbackTypeMiuixPressFeedbackTypeMiuixPressFeedbackType.none按压反馈类型(none / sink / tilt)
childWidget?null子节点

示例:

dart
const MiuixCard(
  insideMargin: EdgeInsets.all(16),
  child: MiuixText('卡片内容'),
)

MiuixCardColors

卡片颜色配置,两个字段均为必填。

参数类型默认值说明
colorColor必填容器背景色
contentColorColor必填内容色

示例:

dart
const MiuixCardColors(
  color: Colors.white,
  contentColor: Colors.black,
)

MiuixCardDefaults

私有构造,仅 static 字段/方法。

常量说明
cornerRadius16默认圆角半径
insideMarginEdgeInsets.zero默认内边距
静态方法返回说明
defaultColors(BuildContext)MiuixCardColors默认颜色:surfaceContainer / onSurfaceContainer

MiuixSurface

Miuix 风格的 Surface,提供背景色、内容色、边框、阴影,并向下传递内容色。

参数类型默认值说明
colorColor?null(默认 colors.surface背景色
contentColorColor?null(默认 colors.onSurface内容色
cornerRadiusdouble0圆角半径,0 表示直角
squircleEnabledbooltrue是否启用 squircle 圆角
borderBorder?null边框
shadowElevationdouble0阴影高度(逻辑像素)
onPressedVoidCallback?null点击回调,非 null 时可点击
enabledbooltrue是否启用点击
childWidget必填子节点

示例:

dart
const MiuixSurface(
  cornerRadius: 12,
  child: MiuixText('表面内容'),
)

MiuixBadge

Miuix 风格的徽标。child 为 null 时绘制 6×6 圆点,否则为至少 16×16 的胶囊。

参数类型默认值说明
containerColorColor?null(默认 colors.error容器背景色
contentColorColor?null(默认 colors.onError内容色
childWidget?null内容,为 null 时显示圆点

示例:

dart
const MiuixBadge(child: MiuixText('9'))

MiuixBadgeDefaults

私有构造,仅 static 字段/方法。

常量说明
size6无内容圆点徽标的默认尺寸
largeSize16含内容徽标的默认最小尺寸
静态方法返回说明
containerColor(BuildContext)Color默认容器色,对应主题的 error
contentColor(BuildContext)Color默认内容色,对应主题的 onError

MiuixBadgedBox

将徽标放置在锚点右上角的容器,组件尺寸由 child 决定,放置随 RTL 镜像。

参数类型默认值说明
badgeWidget必填徽标(通常为 MiuixBadge
childWidget必填锚点子节点
topBounddouble?null顶部夹取边界,默认不夹取
endBounddouble?null结束方向夹取边界,默认不夹取

示例:

dart
MiuixBadgedBox(
  badge: const MiuixBadge(),
  child: MiuixIcon(vector: MiuixIcons.extended.byName('messages')!),
)

MiuixHorizontalDivider

水平分隔线,宽度撑满,默认厚度 0.75。

参数类型默认值说明
thicknessdouble0.75线条厚度
colorColor?null(默认 colors.dividerLine线条颜色

示例:

dart
const MiuixHorizontalDivider()

MiuixVerticalDivider

垂直分隔线,高度撑满,默认厚度 0.75。

参数类型默认值说明
thicknessdouble0.75线条厚度
colorColor?null(默认 colors.dividerLine线条颜色

示例:

dart
const SizedBox(height: 24, child: MiuixVerticalDivider())

MiuixDividerDefaults

私有构造,仅 static 字段/方法。

常量说明
thickness0.75默认厚度 0.75dp
静态方法返回说明
dividerColor(BuildContext)Color默认颜色,取自 MiuixTheme.colors.dividerLine

MiuixSmallTitle

小标题,使用 subtitle 样式(14sp 加粗),默认色 onBackgroundVariant

参数类型默认值说明
textString必填(位置参数)标题文字
textColorColor?null(默认 colors.onBackgroundVariant文字颜色
insideMarginEdgeInsetsGeometryEdgeInsets.symmetric(horizontal: 28, vertical: 8)内边距

示例:

dart
const MiuixSmallTitle('分组标题')

MiuixBasicComponent

Miuix 基础行组件,广泛用于扩展组件;内部用自定义 RenderBox 复刻 start/center/end 的 2:5:3 测量约束。

参数类型默认值说明
titleString?null标题文字
titleColorMiuixBasicComponentColors?null(默认 titleColor标题颜色配置
summaryString?null摘要文字
summaryColorMiuixBasicComponentColors?null(默认 summaryColor摘要颜色配置
startActionWidget?null起始操作项
endActionsList<Widget>?null结束操作项列表
bottomActionWidget?null底部操作项
insideMarginEdgeInsetsGeometryEdgeInsets.all(16)内边距
onClickVoidCallback?null点击回调
onClickLabelString?null无障碍点击标签
roleMiuixBasicComponentRole?null无障碍角色(button / checkbox / radioButton / switchControl / tab / dropdownList)
holdDownStateboolfalse强制按住视觉态
enabledbooltrue是否启用
contentList<Widget>?null自定义中心内容,为 null 时由 title/summary 构建

示例:

dart
MiuixBasicComponent(
  title: '标题',
  summary: '摘要',
  onClick: () {},
)

MiuixBasicComponentRole

BasicComponent 的无障碍角色枚举。

说明
button按钮
checkbox复选框
radioButton单选按钮
switchControl开关
tab选项卡
dropdownList下拉列表

MiuixBasicComponentColors

BasicComponent 颜色配置,两个字段均为必填。

参数类型默认值说明
colorColor必填启用时颜色
disabledColorColor必填禁用时颜色

示例:

dart
const MiuixBasicComponentColors(
  color: Colors.black,
  disabledColor: Colors.grey,
)

MiuixBasicComponentDefaults

私有构造,仅 static 字段/方法。

常量说明
insideMarginEdgeInsets.all(16)组件四周默认内边距,均为 16 逻辑像素
静态方法返回说明
titleColor(BuildContext)MiuixBasicComponentColors标题默认颜色
summaryColor(BuildContext)MiuixBasicComponentColors摘要默认颜色

MiuixText

Miuix 风格的文本,默认样式 textStyles.main,颜色取自 MiuixContentColor

参数类型默认值说明
textString必填(位置参数)文本内容
colorColor?null(默认取内容色,显式 color 优先级最高)文字颜色
fontSizedouble?null字号
fontWeightFontWeight?null字重
fontFamilyString?null字体
letterSpacingdouble?null字间距
fontStyleFontStyle?null字体样式
decorationTextDecoration?null文本装饰
textAlignTextAlign?null对齐方式
heightdouble?null行高
maxLinesint?null最大行数
overflowTextOverflow?null溢出处理
softWrapbooltrue是否自动换行
styleTextStyle?null(默认 textStyles.main基础样式

示例:

dart
const MiuixText('你好,Miuix')

MiuixIcon

Miuix 风格的图标。icon / vector / child 三选一;单色图标通过 tint 上色。

参数类型默认值说明
iconIconData?nullMaterial 图标数据
vectorMiuixVectorIcon?nullMiuix 内置矢量图标
childWidget?null自定义图标 Widget(多色图标等)
tintColor?null(默认取内容色;传 kMiuixTintUnspecified 时不上色)上色颜色
contentDescriptionString?null无障碍描述,为 null 时不包裹 Semantics
sizedouble?null(icon 路径回退到 24)图标尺寸

示例:

dart
MiuixIcon(vector: MiuixIcons.extended.byName('favoritesFill')!, size: 24)

MiuixIconDefaults

私有构造,仅 static 字段/方法。

常量说明
defaultSize24默认图标尺寸(逻辑像素)

Released under the Apache-2.0 License.