fix: code conflict

This commit is contained in:
yifeng.yl
2019-02-03 00:48:57 +08:00
181 changed files with 2261 additions and 1158 deletions

View File

@ -17,15 +17,15 @@ var selectItemValue;
class DropdownButtonDefault extends StatelessWidget {
List<DropdownMenuItem> generateItemList() {
final List<DropdownMenuItem> items = new List();
final DropdownMenuItem item1 = new DropdownMenuItem(
value: '张三', child: new Text('张三'));
final DropdownMenuItem item2 = new DropdownMenuItem(
value: '李四', child: new Text('李四'));
final DropdownMenuItem item3 = new DropdownMenuItem(
value: '王二', child: new Text('王二'));
final DropdownMenuItem item4 = new DropdownMenuItem(
value: '麻子', child: new Text('麻子'));
final List<DropdownMenuItem> items = List();
final DropdownMenuItem item1 = DropdownMenuItem(
value: '张三', child: Text('张三'));
final DropdownMenuItem item2 = DropdownMenuItem(
value: '李四', child: Text('李四'));
final DropdownMenuItem item3 = DropdownMenuItem(
value: '王二', child: Text('王二'));
final DropdownMenuItem item4 = DropdownMenuItem(
value: '麻子', child: Text('麻子'));
items.add(item1);
items.add(item2);
items.add(item3);
@ -36,7 +36,7 @@ class DropdownButtonDefault extends StatelessWidget {
@override
Widget build(BuildContext context) {
return DropdownButton(
hint: new Text('下拉菜单选择一个人名'),
hint: Text('下拉菜单选择一个人名'),
//设置这个value之后,选中对应位置的item
//再次呼出下拉菜单会自动定位item位置在当前按钮显示的位置处
value: selectItValue,
@ -51,54 +51,54 @@ class DropdownButtonDefault extends StatelessWidget {
}
List<DropdownMenuItem> getListData(){
List<DropdownMenuItem> items=new List();
DropdownMenuItem dropdownMenuItem1=new DropdownMenuItem(
child:new Text('1'),
List<DropdownMenuItem> items= List();
DropdownMenuItem dropdownMenuItem1= DropdownMenuItem(
child: Text('1'),
value: '1',
);
items.add(dropdownMenuItem1);
DropdownMenuItem dropdownMenuItem2=new DropdownMenuItem(
child:new Text('2'),
DropdownMenuItem dropdownMenuItem2= DropdownMenuItem(
child: Text('2'),
value: '2',
);
items.add(dropdownMenuItem2);
DropdownMenuItem dropdownMenuItem3=new DropdownMenuItem(
child:new Text('3'),
DropdownMenuItem dropdownMenuItem3= DropdownMenuItem(
child: Text('3'),
value: '3',
);
items.add(dropdownMenuItem3);
DropdownMenuItem dropdownMenuItem4=new DropdownMenuItem(
child:new Text('4'),
DropdownMenuItem dropdownMenuItem4= DropdownMenuItem(
child: Text('4'),
value: '4',
);
items.add(dropdownMenuItem4);
DropdownMenuItem dropdownMenuItem5=new DropdownMenuItem(
child:new Text('5'),
DropdownMenuItem dropdownMenuItem5= DropdownMenuItem(
child: Text('5'),
value: '5',
);
items.add(dropdownMenuItem5);
DropdownMenuItem dropdownMenuItem6=new DropdownMenuItem(
child:new Text('6'),
DropdownMenuItem dropdownMenuItem6= DropdownMenuItem(
child: Text('6'),
value: '6',
);
items.add(dropdownMenuItem6);
DropdownMenuItem dropdownMenuItem7=new DropdownMenuItem(
child:new Text('7'),
DropdownMenuItem dropdownMenuItem7= DropdownMenuItem(
child: Text('7'),
value: '7',
);
items.add(dropdownMenuItem7);
DropdownMenuItem dropdownMenuItem8=new DropdownMenuItem(
child:new Text('8'),
DropdownMenuItem dropdownMenuItem8= DropdownMenuItem(
child: Text('8'),
value: '8',
);
items.add(dropdownMenuItem8);
DropdownMenuItem dropdownMenuItem9=new DropdownMenuItem(
child:new Text('9'),
DropdownMenuItem dropdownMenuItem9= DropdownMenuItem(
child: Text('9'),
value: '9',
);
items.add(dropdownMenuItem9);
DropdownMenuItem dropdownMenuItem10=new DropdownMenuItem(
child:new Text('10'),
DropdownMenuItem dropdownMenuItem10= DropdownMenuItem(
child: Text('10'),
value: '10',
);
items.add(dropdownMenuItem10);
@ -124,9 +124,11 @@ class DropdownButtonCustom extends StatelessWidget {
value: selectItemValue,
//下拉菜单item点击之后的回调
onChanged: (T){
parent.setState((){
selectItemValue = T;
});
if (parent.mounted) {
parent.setState(() {
selectItemValue = T;
});
}
},
//设置阴影的高度
elevation: 24,

View File

@ -62,7 +62,7 @@ class _DemoState extends State<Demo> {
*/
Widget allDropdownButtons(BuildContext context,_DemoState that){
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
@ -87,14 +87,14 @@ Widget allDropdownButtons(BuildContext context,_DemoState that){
* 带align的text
* */
Widget textAlignBar(String txt){
//style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return new Align(
//style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
MarkdownBody(data: txt)
//new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
// Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
])
);
}

View File

@ -101,9 +101,9 @@ class FlatButtonCustom extends StatelessWidget {
splashColor: Colors.deepPurple,
// 抗锯齿能力,抗锯齿等级依次递增,none默认),hardEdge,antiAliasWithSaveLayer,antiAlias
clipBehavior: Clip.antiAlias,
padding: new EdgeInsets.only(
padding: EdgeInsets.only(
bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
shape: (shape is ShapeBorder) ? shape : new Border.all(
shape: (shape is ShapeBorder) ? shape : Border.all(
// 设置边框样式
color: Colors.grey,
width: 2.0,

View File

@ -64,7 +64,7 @@ class _DemoState extends State<Demo> {
*/
Widget allFlatButtons(BuildContext context){
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
@ -109,7 +109,7 @@ Widget allFlatButtons(BuildContext context){
flatButton.FlatButtonCustom('危险按钮',Colors.pink),
SizedBox(height: 10.0),
flatButton.FlatButtonCustom('点击我试试!', Colors.red,
new Border.all(color: Colors.brown, width: 5.0, style: BorderStyle.solid),
Border.all(color: Colors.brown, width: 5.0, style: BorderStyle.solid),
() => _showMessage('点击了 FLAT BUTTON ', context)),
SizedBox(height: 20.0)
])
@ -126,16 +126,16 @@ void _showMessage(String name, BuildContext context) {
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: new Text('提示'),
content: new Text(name),
title: Text('提示'),
content: Text(name),
actions: <Widget>[
new FlatButton(
FlatButton(
// alert 的取消按钮
onPressed: () {
// 取消的事件
Navigator.of(context).pop(true);
},
child: new Text('取消'))
child: Text('取消'))
]);
}
);
@ -145,14 +145,14 @@ void _showMessage(String name, BuildContext context) {
* 带align的text
* */
Widget textAlignBar(String txt){
//style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return new Align(
//style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
MarkdownBody(data: txt)
//new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
// Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
])
);
}

View File

@ -49,7 +49,7 @@ class FloatingActionButtonCustom extends StatelessWidget {
@override
Widget build(BuildContext context) {
final _onPressed = onPressed;
return new FloatingActionButton(
return FloatingActionButton(
// 子视图一般为Icon不推荐使用文字
child: const Icon(Icons.refresh),
// FAB的文字解释FAB被长按时显示也是无障碍功能
@ -109,8 +109,8 @@ class FloatingActionButtonCustom2 extends StatelessWidget {
foregroundColor: Colors.white,
backgroundColor: Colors.amber,
//如果不手动设置icon和text颜色,则默认使用foregroundColor颜色
icon: new Icon(Icons.flag,color: Colors.red),
label: new Text('FloatingActionButton.extended', maxLines: 1),
icon: Icon(Icons.flag,color: Colors.red),
label: Text('FloatingActionButton.extended', maxLines: 1),
);
}
}

View File

@ -50,9 +50,11 @@ class _DemoState extends State<Demo> {
String buttonShapeType = 'border'; // 边框类型
void setButtonShapeType(){
String _buttonShapeType = (buttonShapeType == 'border') ? 'radius' : 'border';
this.setState((){
buttonShapeType = _buttonShapeType;
});
if(mounted) {
this.setState(() {
buttonShapeType = _buttonShapeType;
});
}
}
@override
Widget build(BuildContext context) {
@ -72,7 +74,7 @@ class _DemoState extends State<Demo> {
Widget allFloatingActionButtons(BuildContext context,_DemoState that){
final ShapeBorder buttonShape = drawShape(that.buttonShapeType);
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
@ -109,16 +111,16 @@ Widget allFloatingActionButtons(BuildContext context,_DemoState that){
// context: context,
// builder: (BuildContext context) {
// return AlertDialog(
// title: new Text('提示'),
// content: new Text(name),
// title: Text('提示'),
// content: Text(name),
// actions: <Widget>[
// new FlatButton(
// FlatButton(
// // alert 的取消按钮
// onPressed: () {
// // 取消的事件
// Navigator.of(context).pop(true);
// },
// child: new Text('取消'))
// child: Text('取消'))
// ]);
// }
// );
@ -128,14 +130,14 @@ Widget allFloatingActionButtons(BuildContext context,_DemoState that){
* 带align的text
* */
Widget textAlignBar(String txt){
//style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return new Align(
//style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
MarkdownBody(data: txt)
//new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
// Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
])
);
}
@ -159,7 +161,7 @@ ShapeBorder drawShape(String type){
break;
case 'radius':
return RoundedRectangleBorder(
side:new BorderSide( // 保留原来的边框样式
side: BorderSide( // 保留原来的边框样式
width: borderWidth,
color: _color,
style: BorderStyle.solid,

View File

@ -75,7 +75,7 @@ class IconButtonCustom extends StatelessWidget {
iconSize:(Random.secure().nextInt(20)+20).toDouble(), // 随机大小
// 按钮内部,墨汁飞溅的颜色,点击按钮时的渐变背景色,当你不设置高亮背景时才会看的更清楚
splashColor: _randomColor(),
padding: new EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
padding: EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
// 描述按下按钮时将发生的操作的文本
tooltip:'这是${ type.codePoint }信息',
// IconButton 的点击事件

View File

@ -45,9 +45,11 @@ class _DemoState extends State<Demo> {
String buttonShapeType = 'border'; // 边框类型
void setButtonShapeType(){
String _buttonShapeType = (buttonShapeType == 'border') ? 'radius' : 'border';
this.setState((){
buttonShapeType = _buttonShapeType;
});
if(mounted) {
this.setState(() {
buttonShapeType = _buttonShapeType;
});
}
}
@override
Widget build(BuildContext context) {
@ -66,7 +68,7 @@ class _DemoState extends State<Demo> {
Widget allIconButtons(BuildContext context,_DemoState that){
final ShapeBorder buttonShape = drawShape(that.buttonShapeType);
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
@ -106,14 +108,14 @@ Widget allIconButtons(BuildContext context,_DemoState that){
* 带align的text
* */
Widget textAlignBar(String txt){
//style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return new Align(
//style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
MarkdownBody(data: txt)
//new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
// Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
])
);
}
@ -137,7 +139,7 @@ ShapeBorder drawShape(String type){
break;
case 'radius':
return RoundedRectangleBorder(
side:new BorderSide( // 保留原来的边框样式
side: BorderSide( // 保留原来的边框样式
width: borderWidth,
color: _color,
style: BorderStyle.solid,

View File

@ -79,7 +79,7 @@ class OutlineButtonCustom extends StatelessWidget {
// 文本内容
child: Text(txt, semanticsLabel: 'FLAT BUTTON 2'),
// 边框的颜色,颜色也可以走主题色 Theme.of(context).primaryColor
borderSide:new BorderSide(color: _randomColor(),width:Random.secure().nextInt(10).toDouble()),
borderSide: BorderSide(color: _randomColor(),width:Random.secure().nextInt(10).toDouble()),
// 按钮颜色
color: _randomColor(),
// 按钮失效时边框颜色
@ -100,7 +100,7 @@ class OutlineButtonCustom extends StatelessWidget {
splashColor: _randomColor(),
// 抗锯齿能力,抗锯齿等级依次递增,none默认),hardEdge,antiAliasWithSaveLayer,antiAlias
clipBehavior: Clip.antiAlias,
padding: new EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
padding: EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
//高亮时候的阴影
highlightElevation: 10.0,
shape: shape, // 在Outline 里只能设置圆角,边框用borderSide

View File

@ -54,9 +54,11 @@ class _DemoState extends State<Demo> {
String buttonShapeType = 'border'; // 边框类型
void setButtonShapeType(){
String _buttonShapeType = (buttonShapeType == 'border') ? 'radius' : 'border';
this.setState((){
buttonShapeType = _buttonShapeType;
});
if (mounted) {
this.setState(() {
buttonShapeType = _buttonShapeType;
});
}
}
@override
Widget build(BuildContext context) {
@ -75,7 +77,7 @@ class _DemoState extends State<Demo> {
Widget allOutlineButtons(BuildContext context,_DemoState that){
final ShapeBorder buttonShape = drawShape(that.buttonShapeType);
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
@ -136,16 +138,16 @@ Widget allOutlineButtons(BuildContext context,_DemoState that){
// context: context,
// builder: (BuildContext context) {
// return AlertDialog(
// title: new Text('提示'),
// content: new Text(name),
// title: Text('提示'),
// content: Text(name),
// actions: <Widget>[
// new FlatButton(
// FlatButton(
// // alert 的取消按钮
// onPressed: () {
// // 取消的事件
// Navigator.of(context).pop(true);
// },
// child: new Text('取消'))
// child: Text('取消'))
// ]);
// }
// );
@ -155,14 +157,14 @@ Widget allOutlineButtons(BuildContext context,_DemoState that){
* 带align的text
* */
Widget textAlignBar(String txt){
//style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return new Align(
//style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
MarkdownBody(data: txt)
//new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
// Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
])
);
}
@ -186,7 +188,7 @@ ShapeBorder drawShape(String type){
break;
case 'radius':
return RoundedRectangleBorder(
side:new BorderSide( // 保留原来的边框样式
side: BorderSide( // 保留原来的边框样式
width: borderWidth,
color: _color,
style: BorderStyle.solid,

View File

@ -71,8 +71,8 @@ class PopupMenuButtonDefault extends StatelessWidget {
child: Text('点我试试'),
onSelected: (String value) {},
itemBuilder: (BuildContext context) => <PopupMenuItem<String>>[
new PopupMenuItem(value: "选项一的内容", child: new Text("选项一")),
new PopupMenuItem(value: "选项二的内容", child: new Text("选项二"))
PopupMenuItem(value: "选项一的内容", child: Text("选项一")),
PopupMenuItem(value: "选项二的内容", child: Text("选项二"))
]);
}
@ -82,8 +82,8 @@ class PopupMenuButtonDefault extends StatelessWidget {
icon: Icon(Icons.menu),
onSelected: (String value) {},
itemBuilder: (BuildContext context) => <PopupMenuItem<String>>[
new PopupMenuItem(value: "选项一的内容", child: new Text("选项一")),
new PopupMenuItem(value: "选项二的内容", child: new Text("选项二"))
PopupMenuItem(value: "选项一的内容", child: Text("选项一")),
PopupMenuItem(value: "选项二的内容", child: Text("选项二"))
]);
}
}
@ -116,10 +116,10 @@ class PopupMenuButtonCustom extends StatelessWidget {
initialValue:selectStr,
// 按下按钮时调用以创建要在菜单中显示的项目。
itemBuilder: (BuildContext context) => <PopupMenuItem<String>>[
new PopupMenuItem(value: "选项一的内容", child: new Text("选项一")),
new PopupMenuItem(value: "选项二的内容", child: new Text("选项二")),
new PopupMenuItem(value: "选项三的内容", child: new Text("选项三")),
new PopupMenuItem(value: "选项四的内容", child: new Text("选项四"))
PopupMenuItem(value: "选项一的内容", child: Text("选项一")),
PopupMenuItem(value: "选项二的内容", child: Text("选项二")),
PopupMenuItem(value: "选项三的内容", child: Text("选项三")),
PopupMenuItem(value: "选项四的内容", child: Text("选项四"))
],
// 应用于弹出菜单按钮的偏移量(x,y)。
offset:Offset(0.0,50.0),
@ -134,7 +134,7 @@ class PopupMenuButtonCustom extends StatelessWidget {
});
},
// 默认情况下匹配IconButton的8 dps填充。在某些情况下特别是在此按钮作为列表项的尾随元素出现的情况下能够将填充设置为零是有用的。
padding:new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0.0, right: 0.0),
padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0.0, right: 0.0),
//描述按下按钮时将发生的操作的文本。
tooltip:'这是信息'
);

View File

@ -64,7 +64,7 @@ class _DemoState extends State<Demo> {
Widget allPopupMenuButton(Demo widget,State parent){
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[

View File

@ -105,10 +105,10 @@ class RaisedButtonCustom extends StatelessWidget {
// 抗锯齿能力,抗锯齿等级依次递增,none默认),hardEdge,antiAliasWithSaveLayer,antiAlias
clipBehavior: Clip.antiAlias,
padding:
new EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
shape: (shape is ShapeBorder)
? shape
: new Border.all(
: Border.all(
// 设置边框样式
color: Colors.grey,
width: 2.0,

View File

@ -53,9 +53,11 @@ class _DemoState extends State<Demo> {
String buttonShapeType = 'border'; // 边框类型
void setButtonShapeType(){
String _buttonShapeType = (buttonShapeType == 'border') ? 'radius' : 'border';
this.setState((){
buttonShapeType = _buttonShapeType;
});
if(mounted) {
this.setState(() {
buttonShapeType = _buttonShapeType;
});
}
}
@override
Widget build(BuildContext context) {
@ -74,7 +76,7 @@ class _DemoState extends State<Demo> {
Widget allRaisedButtons(BuildContext context,_DemoState that){
final ShapeBorder buttonShape = drawShape(that.buttonShapeType);
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
@ -135,16 +137,16 @@ Widget allRaisedButtons(BuildContext context,_DemoState that){
// context: context,
// builder: (BuildContext context) {
// return AlertDialog(
// title: new Text('提示'),
// content: new Text(name),
// title: Text('提示'),
// content: Text(name),
// actions: <Widget>[
// new FlatButton(
// FlatButton(
// // alert 的取消按钮
// onPressed: () {
// // 取消的事件
// Navigator.of(context).pop(true);
// },
// child: new Text('取消'))
// child: Text('取消'))
// ]);
// }
// );
@ -154,14 +156,14 @@ Widget allRaisedButtons(BuildContext context,_DemoState that){
* 带align的text
* */
Widget textAlignBar(String txt){
//style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return new Align(
//style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
MarkdownBody(data: txt)
//new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
// Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
])
);
}
@ -185,7 +187,7 @@ ShapeBorder drawShape(String type){
break;
case 'radius':
return RoundedRectangleBorder(
side:new BorderSide( // 保留原来的边框样式
side: BorderSide( // 保留原来的边框样式
width: borderWidth,
color: _color,
style: BorderStyle.solid,

View File

@ -62,7 +62,7 @@ class RawMaterialButtonCustom extends StatelessWidget {
splashColor: _randomColor(),
// 抗锯齿能力,抗锯齿等级依次递增,none默认),hardEdge,antiAliasWithSaveLayer,antiAlias
clipBehavior: Clip.antiAlias,
padding: new EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
padding: EdgeInsets.only(bottom: 5.0, top: 5.0, left: 30.0, right: 30.0),
//高亮时候的阴影
highlightElevation: 10.0,
// 按钮材质的形状

View File

@ -43,9 +43,11 @@ class _DemoState extends State<Demo> {
String buttonShapeType = 'border'; // 边框类型
void setButtonShapeType(){
//String _buttonShapeType = (buttonShapeType == 'border') ? 'radius' : 'border';
this.setState((){
//buttonShapeType = _buttonShapeType;
});
if( mounted ) {
this.setState(() {
//buttonShapeType = _buttonShapeType;
});
}
}
@override
Widget build(BuildContext context) {
@ -64,7 +66,7 @@ class _DemoState extends State<Demo> {
Widget allRawMaterialButtons(BuildContext context,_DemoState that){
final ShapeBorder buttonShape = drawShape(that.buttonShapeType);
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
@ -108,16 +110,16 @@ Widget allRawMaterialButtons(BuildContext context,_DemoState that){
// context: context,
// builder: (BuildContext context) {
// return AlertDialog(
// title: new Text('提示'),
// content: new Text(name),
// title: Text('提示'),
// content: Text(name),
// actions: <Widget>[
// new FlatButton(
// FlatButton(
// // alert 的取消按钮
// onPressed: () {
// // 取消的事件
// Navigator.of(context).pop(true);
// },
// child: new Text('取消'))
// child: Text('取消'))
// ]);
// }
// );
@ -127,14 +129,14 @@ Widget allRawMaterialButtons(BuildContext context,_DemoState that){
* 带align的text
* */
Widget textAlignBar(String txt){
//style: new TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return new Align(
//style: TextStyle(fontSize: 15.5, height: 1.2),textAlign:TextAlign.left
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
MarkdownBody(data: txt)
//new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
// Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
])
);
}
@ -158,7 +160,7 @@ ShapeBorder drawShape(String type){
break;
case 'radius':
return RoundedRectangleBorder(
side:new BorderSide( // 保留原来的边框样式
side: BorderSide( // 保留原来的边框样式
width: borderWidth,
color: _color,
style: BorderStyle.solid,

View File

@ -30,9 +30,11 @@ class _CheckboxDefault extends State {
tristate:false,
value: isChecked,
onChanged: (bool bol) {
setState((){
isChecked = bol;
});
if(mounted) {
setState(() {
isChecked = bol;
});
}
}
);
}
@ -58,9 +60,11 @@ class CheckboxSelect extends StatelessWidget {
tristate:false,
value: parent.selectValue == this.index,
onChanged: (bool bol) {
parent.setState((){
parent.selectValue = bol ? this.index : -1;
});
if(parent.mounted) {
parent.setState(() {
parent.selectValue = bol ? this.index : -1;
});
}
}
);
}

View File

@ -59,7 +59,7 @@ class _DemoState extends State<Demo> {
*/
Widget allCheckboxs(BuildContext context,_DemoState that){
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
@ -97,13 +97,13 @@ Widget allCheckboxs(BuildContext context,_DemoState that){
* 带align的text
* */
Widget textAlignBar(String txt){
return new Align(
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
MarkdownBody(data: txt)
//new Text(txt, style: new TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
// Text(txt, style: TextStyle(fontSize: 15.5,height: 1.2,color:Colors.blue),textAlign:TextAlign.left)
])
);
}

View File

@ -25,7 +25,9 @@ class _CheckboxListTileStateDefault extends State {
for (var i = 0; i < isChecks.length; i++) {
isChecks[i] = value;
}
setState(() => _value = value);
if(mounted) {
setState(() => _value = value);
}
}
bool isCheck=false;
List<bool> isChecks=[false,false,false,false];
@ -34,7 +36,7 @@ class _CheckboxListTileStateDefault extends State {
return Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
new Center(
Center(
child: CheckboxListTile(
value: _value,
selected:true,// 默认文字是否高亮
@ -48,22 +50,24 @@ class _CheckboxListTileStateDefault extends State {
activeColor: Colors.red, // 选中此复选框时要使用的颜色
),
),
new Center(
child: new CheckboxListTile(
Center(
child: CheckboxListTile(
value: isChecks[0],
title: new Text('选项1'),
title: Text('选项1'),
activeColor: _value ? Colors.red : Colors.green,
controlAffinity: ListTileControlAffinity.platform,
onChanged: (bool){
setState(() {
isChecks[0]=bool;
});
if(mounted) {
setState(() {
isChecks[0] = bool;
});
}
}),
),
new Center(
child: new CheckboxListTile(
Center(
child: CheckboxListTile(
value: isChecks[1],
title: new Text('选项2'),
title: Text('选项2'),
activeColor: _value ? Colors.red : Colors.green,
controlAffinity: ListTileControlAffinity.platform,
onChanged: (bool){
@ -72,10 +76,10 @@ class _CheckboxListTileStateDefault extends State {
});
}),
),
new Center(
child: new CheckboxListTile(
Center(
child: CheckboxListTile(
value: isChecks[2],
title: new Text('选项3'),
title: Text('选项3'),
activeColor: _value ? Colors.red : Colors.green,
controlAffinity: ListTileControlAffinity.platform,
onChanged: (bool){
@ -84,10 +88,10 @@ class _CheckboxListTileStateDefault extends State {
});
}),
),
new Center(
child: new CheckboxListTile(
Center(
child: CheckboxListTile(
value: isChecks[3],
title: new Text('选项4'),
title: Text('选项4'),
activeColor: _value ? Colors.red : Colors.green,
controlAffinity: ListTileControlAffinity.platform,
onChanged: (bool){

View File

@ -61,7 +61,7 @@ class _DemoState extends State<Demo> {
*/
Widget allCheckboxs(BuildContext context, _DemoState that) {
return Container(
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
child: Column(
//mainAxisSize: MainAxisSize.max,
children:[
@ -79,7 +79,7 @@ Widget allCheckboxs(BuildContext context, _DemoState that) {
* 带align的text
* */
Widget textAlignBar(String txt) {
return new Align(
return Align(
alignment: FractionalOffset.centerLeft,
child: Column(
children: <Widget>[

View File

@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
class DefaultTextField extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container(
return Container(
padding: const EdgeInsets.all(30.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, //文本是起始端对齐
@ -29,7 +29,7 @@ class CustomTextField extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container(
return Container(
padding: const EdgeInsets.all(30.0),
child: TextField(
keyboardType: TextInputType.number,

View File

@ -22,27 +22,27 @@ class _Demo extends State<RadioADemo> {
}
Widget build(BuildContext context) {
return (
new Container(
Container(
alignment: Alignment.centerLeft,
child: new Column(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
new Radio(
Radio(
value: 1,
groupValue: groupValue,//当value和groupValue一致的时候则选中
onChanged: (T){
onChange(T);
}
),
new Radio(
Radio(
value: 2,
groupValue: groupValue,
onChanged: (T){
onChange(T);
}
),
new Radio(
Radio(
value: 3,
groupValue: groupValue,
onChanged: (T){

View File

@ -11,28 +11,19 @@ import 'package:flutter/material.dart';
import 'package:flutter_go/components/widget_demo.dart';
import 'demo.dart';
const content1 = """
# Radio
### **简介**
> material design 风格的单选按钮
Radio widget 代表表单中的单选按钮, 当groupValue = value时代表组件被选中。
在表单中, 单选按钮是表示一组互斥选项按钮中的一个。当一个按钮被选中,之前选中的按钮就变为非选中的。
# 示例显示
""";
const content2 = """
# 基本用法
```
new Radio(
value: value,
groupValue: groupValue, //当value和groupValue一致的时候则选中
onChanged: (T){
onChange(T);
}
````
### **基本用法**
以下是Radio的属性主产明
- activeColor → Color - 激活时的颜色。
- groupValue → T - 选择组的值。
- onChanged → ValueChanged - 改变时触发。
- value → T - 单选的值。
""";
class Demo extends StatefulWidget {
static const String routeName = '/element/Form/Radio/index';
@ -46,7 +37,6 @@ class _DemoState extends State<Demo> {
contentList: [
content1,
new RadioADemo(),
content2
],
title: 'Radio',
docUrl: 'https://docs.flutter.io/flutter/material/Radio-class.html',

View File

@ -24,7 +24,7 @@ class _Demo extends State<DemoA> {
}
Widget build(BuildContext context) {
return new Column(
return Column(
children: <Widget>[
RadioListTile<String>(
title: const Text('A'),

View File

@ -11,28 +11,15 @@ import 'package:flutter/material.dart';
import 'package:flutter_go/components/widget_demo.dart';
import 'demo.dart';
const content1 = """
# RadioListTile
### **简介**
> material design 风格的单选按钮附加文字label
点击文字的同时 , 将会出发 Radio的点击效果.
功能同 @Radio
# 示例显示
""";
const content2 = """
# 基本用法
``` dart
RadioListTile(
title: const Text('title'),
value: value,
groupValue: groupValue,
onChanged:onChange
)
```
### **基本用法**
Radio是单选框和checkbox一样本身不包含状态当groupValue = value时代表选中状态
""";
class Demo extends StatefulWidget {
static const String routeName = '/element/Form/RadioListTile/index';
@ -45,8 +32,8 @@ class _DemoState extends State<Demo> {
return WidgetDemo(
contentList: [
content1,
new DemoA(),
content2
new DemoA()
],
title: 'RadioListTile',
docUrl: 'https://docs.flutter.io/flutter/material/RadioListTile-class.html',

View File

@ -16,7 +16,7 @@ class SliderDemo extends StatefulWidget {
class _Demo extends State<SliderDemo> {
double value = 0.0;
Widget build(BuildContext context) {
return new Slider(
return Slider(
value: value,//实际进度的位置
inactiveColor: Colors.black12,//进度中不活动部分的颜色
label: 'value: $value',
@ -43,8 +43,8 @@ class SliderThemeDemo extends StatefulWidget {
class _SliderThemeDemo extends State<SliderThemeDemo> {
double value = 0.0;
Widget build(BuildContext context) {
return new Container(
child: new SliderTheme(
return Container(
child: SliderTheme(
data: SliderTheme.of(context).copyWith(
// activeTickMarkColor:Colors.yellowAccent,
activeTrackColor: Colors.yellowAccent,//实际进度的颜色
@ -52,21 +52,21 @@ class _SliderThemeDemo extends State<SliderThemeDemo> {
thumbColor: Colors.black,//滑块中心的颜色
inactiveTrackColor:Colors.red,//默 认进度条的颜色
valueIndicatorColor: Colors.blue,//提示进度的气派的背景色
valueIndicatorTextStyle: new TextStyle(//提示气泡里面文字的样式
valueIndicatorTextStyle: TextStyle(//提示气泡里面文字的样式
color: Colors.white,
),
inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色
overlayColor: Colors.pink,//滑块边缘颜色
),
child: new Container(
child: Container(
width: 340.0,
margin: EdgeInsets.fromLTRB(0.0, 50.0, 0.0, 0.0),
child: new Row(
child: Row(
children: <Widget>[
new Text('0.0'),
new Expanded(
Text('0.0'),
Expanded(
flex: 1,
child: new Slider(
child: Slider(
value: value,
label: '$value',
divisions: 10,
@ -79,7 +79,7 @@ class _SliderThemeDemo extends State<SliderThemeDemo> {
max: 100.0,
),
),
new Text('100.0'),
Text('100.0'),
],
),
),

View File

@ -49,19 +49,19 @@ const contentB = '''
如果当前Slider样式 无法满足需求, 可以通过 ** SliderTheme ** 定制复杂样式
```
new SliderTheme(
SliderTheme(
data: SliderTheme.of(context).copyWith(
activeTrackColor: Colors.yellowAccent,//实际进度的颜色
inactiveTickMarkColor:Colors.black
thumbColor: Colors.black,//滑块中心的颜色
inactiveTrackColor:Colors.red,//默 认进度条的颜色
valueIndicatorColor: Colors.blue,//提示进度的气派的背景色
valueIndicatorTextStyle: new TextStyle(//提示气泡里面文字的样式
valueIndicatorTextStyle: TextStyle(//提示气泡里面文字的样式
color: Colors.white,
),
inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色
overlayColor: Colors.pink,//滑块边缘颜色
child: new Slider()
child: Slider()
)
```

View File

@ -17,8 +17,8 @@ class SliderThemeDemo extends StatefulWidget {
class _SliderThemeDemo extends State<SliderThemeDemo> {
double value = 0.0;
Widget build(BuildContext context) {
return new Container(
child: new SliderTheme(
return Container(
child: SliderTheme(
data: SliderTheme.of(context).copyWith(
// activeTickMarkColor:Colors.yellowAccent,
activeTrackColor: Colors.yellowAccent,//实际进度的颜色
@ -26,21 +26,21 @@ class _SliderThemeDemo extends State<SliderThemeDemo> {
thumbColor: Colors.black,//滑块中心的颜色
inactiveTrackColor:Colors.red,//默 认进度条的颜色
valueIndicatorColor: Colors.blue,//提示进度的气派的背景色
valueIndicatorTextStyle: new TextStyle(//提示气泡里面文字的样式
valueIndicatorTextStyle: TextStyle(//提示气泡里面文字的样式
color: Colors.white,
),
inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色
overlayColor: Colors.pink,//滑块边缘颜色
),
child: new Container(
child: Container(
width: 340.0,
margin: EdgeInsets.fromLTRB(0.0, 50.0, 0.0, 0.0),
child: new Row(
child: Row(
children: <Widget>[
new Text('0.0'),
new Expanded(
Text('0.0'),
Expanded(
flex: 1,
child: new Slider(
child: Slider(
value: value,
label: '$value',
divisions: 10,
@ -53,7 +53,7 @@ class _SliderThemeDemo extends State<SliderThemeDemo> {
max: 100.0,
),
),
new Text('100.0'),
Text('100.0'),
],
),
),

View File

@ -24,7 +24,7 @@ const contentA = '''
基本属性参考以下代码:
```
new SliderTheme(
SliderTheme(
data: SliderThemeData({
@required Color activeTrackColor,
@required Color inactiveTrackColor,
@ -67,7 +67,7 @@ class _Demo extends State<Demo> {
codeUrl: 'elements/Form/Slider/SliderTheme/demo.dart',
contentList: [
contentA,
new SliderThemeDemo(),
SliderThemeDemo(),
],
docUrl: 'https://docs.flutter.io/flutter/material/SliderTheme-class.html',
);

View File

@ -17,8 +17,8 @@ class SliderThemeDemo extends StatefulWidget {
class _SliderThemeDemo extends State<SliderThemeDemo> {
double value = 0.0;
Widget build(BuildContext context) {
return new Container(
child: new SliderTheme(
return Container(
child: SliderTheme(
data: SliderTheme.of(context).copyWith(
// activeTickMarkColor:Colors.yellowAccent,
activeTrackColor: Colors.yellowAccent,//实际进度的颜色
@ -26,21 +26,21 @@ class _SliderThemeDemo extends State<SliderThemeDemo> {
thumbColor: Colors.black,//滑块中心的颜色
inactiveTrackColor:Colors.red,//默 认进度条的颜色
valueIndicatorColor: Colors.blue,//提示进度的气派的背景色
valueIndicatorTextStyle: new TextStyle(//提示气泡里面文字的样式
valueIndicatorTextStyle: TextStyle(//提示气泡里面文字的样式
color: Colors.white,
),
inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色
overlayColor: Colors.pink,//滑块边缘颜色
),
child: new Container(
child: Container(
width: 340.0,
margin: EdgeInsets.fromLTRB(0.0, 50.0, 0.0, 0.0),
child: new Row(
child: Row(
children: <Widget>[
new Text('0.0'),
new Expanded(
Text('0.0'),
Expanded(
flex: 1,
child: new Slider(
child: Slider(
value: value,
label: '$value',
divisions: 10,
@ -53,7 +53,7 @@ class _SliderThemeDemo extends State<SliderThemeDemo> {
max: 100.0,
),
),
new Text('100.0'),
Text('100.0'),
],
),
),

View File

@ -10,7 +10,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_go/components/widget_demo.dart';
import 'demo.dart';
import 'package:flutter/cupertino.dart';
const contentA = '''
### **简介**
> SliderTheme的data修饰属性 **SliderThemeData**
@ -21,30 +21,6 @@ const contentA = '''
> 配合SliderTheme, 修改slider组件各个部件的样式, 参照@Slider的各组件命名, 修改各部件样式
构造函数如下
````
const SliderThemeData({
@required Color activeTrackColor,
@required Color inactiveTrackColor,
@required Color disabledActiveTrackColor,
@required Color disabledInactiveTrackColor,
@required Color activeTickMarkColor,
@required Color inactiveTickMarkColor,
@required Color disabledActiveTickMarkColor,
@required Color disabledInactiveTickMarkColor,
@required Color thumbColor,
@required Color disabledThumbColor,
@required Color overlayColor,
@required Color valueIndicatorColor,
@required SliderComponentShape thumbShape,
@required SliderComponentShape valueIndicatorShape,
@required ShowValueIndicator showValueIndicator,
@required TextStyle valueIndicatorTextStyle
})
````
### **基本实例**
''';
@ -56,14 +32,14 @@ class Demo extends StatefulWidget {
}
class _Demo extends State<Demo> {
Color c = CupertinoColors.activeBlue;
Widget build(BuildContext context) {
return WidgetDemo(
title: 'SliderThemeData',
codeUrl: 'elements/Form/Slider/SliderThemeData/demo.dart',
contentList: [
contentA,
new SliderThemeDemo()
SliderThemeDemo()
],
docUrl: 'https://docs.flutter.io/flutter/material/SliderThemeData-class.html',
);

View File

@ -39,7 +39,7 @@ class _Demo extends State<Demo> {
codeUrl: 'elements/Form/Switch/AnimatedSwitcher/demo.dart',
contentList: [
contentA,
new AnimatedSwitcherDemo()
AnimatedSwitcherDemo()
],
docUrl: '',
);

View File

@ -18,7 +18,7 @@ class SwitchDemo extends StatefulWidget {
class _Demo extends State<SwitchDemo> {
bool check = false;
Widget build(BuildContext context) {
return new Switch(
return Switch(
value: this.check,
onChanged: (bool val) {
this.setState(() {
@ -36,7 +36,7 @@ class SwitchHighDemo extends StatefulWidget {
class _SwitchHighDemo extends State<SwitchHighDemo> {
bool check = false;
Widget build(BuildContext context) {
return new Switch.adaptive(
return Switch.adaptive(
value: this.check,
activeColor: Colors.blue, // 激活时原点颜色
onChanged: (bool val) {
@ -56,7 +56,7 @@ class SwitchTypesDemo extends StatefulWidget {
class _SwitchTypesDemo extends State<SwitchTypesDemo> {
bool check = false;
Widget build(BuildContext context) {
return new Switch(
return Switch(
value: this.check,
activeTrackColor:Colors.green,
inactiveThumbColor: Colors.black,

View File

@ -17,22 +17,8 @@ const contentA = '''
### **基本用法**
通常用于Bool值参数的设置.
```
new Switch(
value: isChecked,
activeColor: Colors.blue, // 激活时原点颜色
onChanged: (bool val) {
this.setState(() {
this.isChecked = !this.isChecked;
});
},
)
```
### **基本实例**
@SwitchDemo
''';
@ -60,18 +46,6 @@ const contentC = '''
''';
const contentD = '''
```
activeTrackColor:Colors.green,
inactiveThumbColor: Colors.black,
inactiveThumbImage: NetworkImage('https://flutter.io/images/homepage/header-illustration.png'),
activeThumbImage: NetworkImage(
"https://flutter.io/images/homepage/screenshot-2.png"
),
inactiveTrackColor: Colors.yellow,
```
''';
class Demo extends StatefulWidget {
static const String routeName = 'elements/Form/Switch/Switch';
@ -83,15 +57,14 @@ class _Demo extends State<Demo> {
Widget build(BuildContext context) {
return WidgetDemo(
title: 'Switch',
codeUrl: 'elements/Form/Switch/Switch/demo.dart',
codeUrl: '/elements/Form/Switch/Switch/demo.dart',
contentList: [
contentA,
SwitchDemo(),
contentB,
SwitchHighDemo(),
contentC,
SwitchTypesDemo(),
contentD
SwitchTypesDemo()
],
docUrl: 'https://docs.flutter.io/flutter/material/Switch-class.html',
);

View File

@ -18,7 +18,7 @@ class SwitchListTileDemo extends StatefulWidget {
class _Demo extends State<SwitchListTileDemo> {
bool _lights = false;
Widget build(BuildContext context) {
return new SwitchListTile(
return SwitchListTile(
title: const Text('Lights'),
value: _lights,
onChanged: (bool value) { setState(() { _lights = value; }); },

View File

@ -1,9 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_go/components/widget_demo.dart';
// import 'package:flutter_go/widgets/elements/Form/Text/RichText/demo.dart';
import './demo.dart';
import 'package:flutter_go/widgets/elements/Form/Text/RichText/demo.dart';
const String intro = """
### **简介**
@ -13,33 +11,13 @@ const String intro = """
无论是Text或者Text.rich, 查看源代码发现. 都是由RichText构建出来
RichText的源码展示
```
// Text 源码
@override
Widget build(BuildContext context) {
...
Widget result = RichText(
...
style: effectiveTextStyle,
text: data,
children: textSpan != null ? <TextSpan>[textSpan] : null,
),
);
...
return result;
}
```
### **基本实例**
### **基本用法**
我们可以让一段文本通过使用不同的TextSpan显示不同的样式。比如我们让"Hello beautiful world"的每个单词都显示不同的样式.
""";
const String diff = """
""";
class Demo extends StatefulWidget {
static const String routeName = '/element/Form/Text/RichText';
_Demo createState() => _Demo();

View File

@ -1,16 +1,16 @@
import '../../../../model/widget.dart';
import "package:flutter/material.dart";
import 'RichText/index.dart' as RichText;
// import 'RichText/index.dart' as RichText;
import 'Text/index.dart' as Text;
List<WidgetPoint> widgetPoints = [
WidgetPoint(
name: 'RichText',
routerName: RichText.Demo.routeName,
buildRouter: (BuildContext context) => RichText.Demo(),
),
// WidgetPoint(
// name: 'RichText',
// routerName: RichText.Demo.routeName,
// buildRouter: (BuildContext context) => RichText.Demo(),
// ),
WidgetPoint(
name: 'Text',
routerName: Text.Demo.routeName,