ButtonStyle ButtonStyle({ MaterialStateProperty<TextStyle?>? textStyle, //文本样式 MaterialStateProperty<Color?>? backgroundColor, //背景色 MaterialStateProperty<Color?>? foregroundColor, //前景色(文本颜色) MaterialStateProperty<Color?>? overlayColor, //高亮色,按钮按下之后的颜色 MaterialStatePropert...
但是现在, 你只需要继承MaterialStateProperty然后 @overrideresolve方法就可以了,例如TextButton里的 hovered 效果,在TextButton内默认就是通过_TextButtonDefaultOverlay实现,对primary.withOpacity来实现 hovered 效果。 @immutable class _TextButtonDefaultOverlay extends MaterialStateProperty<Color?> { _TextButtonDefault...
style:ButtonStyle(textStyle:MaterialStateProperty.all(TextStyle(fontSize:18,color:Colors.red)),//设置按钮上字体与图标的颜色///设置文本不通状态时颜色foregroundColor:MaterialStateProperty.resolveWith((states){if(states.contains(MaterialState.focused)&&!states.contains(MaterialState.pressed)){//获取焦点时...
其实ButtonStyleButton.allOrNull就是MaterialStateProperty.all方法的可 null 版本,对应内部实现最终还是实现了resolve接口的MaterialStateProperty,所以如果需要支持 null,你也可以做直接使用MaterialStateProperty.all。 代码语言:javascript 复制 staticMaterialStateProperty<T>?allOrNull<T>(T?value)=>value==null?null:...
_TextButtonDefaultMouseCursor: 用于处理鼠标 MouseCursor 的 disabled; 剩下的参则是通过我们熟悉的ButtonStyleButton.allOrNull进行添加,也就是不需要特殊处理的参数。 那ButtonStyleButton.allOrNull的作用是什么? 其实ButtonStyleButton.allOrNull就是MaterialStateProperty.all方法的可 null 版本,对应内部实现最终还是...
这里的TextButtonelevation:MaterialStateProperty.all(0),//设置按钮内边距padding:MaterialStateProperty.all(EdgeInsets.all(10)),//设置按钮的大小minimumSize:MaterialStateProperty.all(Size(200,100)),//设置边框side:MaterialStateProperty.all(BorderSide(color:Colors.grey,data-width:1)),//外边框装饰会覆盖...
1.Text组件 Text组件(简单样式文本框组件)用于显示简单的样式文本,它的常用属性如下表所示。 TextStyle的常用属性如下表所示。 2. RichText组件(富文本组件) RichText组件(丰富文本组件)是Flutter提供的一个可以展示多种样式的Widget,经常应用于一个完整的字符串中实现不同文本片段的字体颜色、大小等风格确不同的场景...
_TextButtonDefaultMouseCursor: 用于处理鼠标 MouseCursor 的 disabled; 剩下的参则是通过我们熟悉的ButtonStyleButton.allOrNull进行添加,也就是不需要特殊处理的参数。 那ButtonStyleButton.allOrNull的作用是什么? 其实ButtonStyleButton.allOrNull就是MaterialStateProperty.all方法的可 null 版本,对应内部实现最终还是...
TextButton(child:Text('TextButton'),onPressed:(){},style:ButtonStyle(foregroundColor:MaterialStateProperty.all(Colors.red),),) 根据按钮的状态改变字体颜色: 代码语言:javascript 复制 TextButton(child:Text('TextButton'),onPressed:(){},style:ButtonStyle(foregroundColor:MaterialStateProperty.resolveWith((...
MaterialStateProperty.all(TextStyle(fontSize:18,color:Colors.red)),//设置按钮上字体与图标的颜色//foregroundColor: MaterialStateProperty.all(Colors.deepPurple),//更优美的方式来设置foregroundColor:MaterialStateProperty.resolveWith((states){if(states.contains(MaterialState.focused)&&!states.contains(Material...