Skip to content

Commit

Permalink
Perf:Button Null safe (#93)
Browse files Browse the repository at this point in the history
* perf: Migrate Button Null-Safe

* perf:优化 HorizontalStep Null-Safe

* fix: null exception when parse json to entity

* perf Button Null-Safe,
fix NullException
perf  more layer  icon  color when item selected
  • Loading branch information
violinday committed Jan 27, 2022
1 parent a4c1a74 commit 7add53d
Show file tree
Hide file tree
Showing 33 changed files with 227 additions and 312 deletions.
1 change: 0 additions & 1 deletion example/lib/sample/components/button/big_fu_example.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';
Expand Down
2 changes: 0 additions & 2 deletions example/lib/sample/components/button/big_ghost_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand Down
2 changes: 0 additions & 2 deletions example/lib/sample/components/button/big_main_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand Down
2 changes: 0 additions & 2 deletions example/lib/sample/components/button/big_outline_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:example/sample/components/button/common_collection_example.dart';
import 'package:example/sample/components/button/selection_collection_example.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand Down
2 changes: 0 additions & 2 deletions example/lib/sample/components/button/button_entry_page.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:example/sample/components/button/big_main_example.dart';
import 'package:example/sample/components/button/big_outline_example.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:example/sample/components/button/brn_text_button_panel_example.dart';
import 'package:example/sample/components/button/button_panel_example.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ class BrnCommonBottomExample extends StatelessWidget {
],
),
Text(
'异常案例:按钮文本长为0',
'异常案例:按钮文本长为空串',
style: TextStyle(
color: Color(0xFF222222),
fontSize: 28,
Expand Down
2 changes: 0 additions & 2 deletions example/lib/sample/components/button/icon_button_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand All @@ -9,12 +7,11 @@ class BrnSelectionBottomButtonExample extends StatefulWidget {
}

class _BrnSelectionBottomButtonExampleState extends State<BrnSelectionBottomButtonExample> {
BrnMultipleBottomController controller;
BrnMultipleBottomController controller = BrnMultipleBottomController();

@override
void initState() {
super.initState();
controller = BrnMultipleBottomController();
}

@override
Expand Down
2 changes: 0 additions & 2 deletions example/lib/sample/components/button/small_main_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @dart=2.9

import 'package:bruno/bruno.dart';
import 'package:flutter/material.dart';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ class _SliverBrnHorizontalStepsState extends State<SliverBrnHorizontalStep> {
final List<BrunoStep> _list = [];
final int value = widget.valueNotifier.value.toInt();
for (int i = 0; i < value; i++) {
_list.add(BrunoStep(stepContentText: ('${i + 1}步')));
_list.add(BrunoStep(stepContentText: ('第你好11${i + 1}步')));
}
return _list;
}
Expand Down
8 changes: 0 additions & 8 deletions lib/src/components/button/brn_big_ghost_button.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,6 @@ import 'package:flutter/material.dart';
/// * [BrnBigMainButton], 大主色调按钮
/// * [BrnBigOutlineButton], 大边框按钮
/// 默认水平间距
const double _BHorizontalPadding = 16;

/// 默认垂直间距
const double _BVerticalPadding = 8;

class BrnBigGhostButton extends StatelessWidget {
///按钮文案,默认'确认'
final String title;
Expand Down Expand Up @@ -71,8 +65,6 @@ class BrnBigGhostButton extends StatelessWidget {
text: title,
textColor: titleColor ?? defaultThemeConfig.commonConfig.brandPrimary,
fontSize: defaultThemeConfig.bigButtonFontSize,
insertPadding: EdgeInsets.symmetric(
vertical: _BVerticalPadding, horizontal: _BHorizontalPadding),
);
}
}
8 changes: 0 additions & 8 deletions lib/src/components/button/brn_big_main_button.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,6 @@ import 'brn_normal_button.dart';
/// * [BrnBigGhostButton], 大主色调的幽灵按钮
/// * [BrnBigOutlineButton], 大边框按钮
/// 默认水平间距
const double _BHorizontalPadding = 16;

/// 默认垂直间距
const double _BVerticalPadding = 8;

class BrnBigMainButton extends StatelessWidget {
///按钮显示文案,默认'确认'
final String title;
Expand Down Expand Up @@ -82,8 +76,6 @@ class BrnBigMainButton extends StatelessWidget {
textColor: Colors.white,
disableTextColor:
defaultThemeConfig.commonConfig.colorTextBaseInverse.withOpacity(0.7),
insertPadding: EdgeInsets.symmetric(
horizontal: _BHorizontalPadding, vertical: _BVerticalPadding),
);
}
}
8 changes: 0 additions & 8 deletions lib/src/components/button/brn_big_outline_button.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,6 @@ import 'package:flutter/material.dart';
/// * [BrnBigGhostButton], 大幽灵按钮
///
/// 默认水平间距
const double _BHorizontalPadding = 16;

/// 默认垂直间距
const double _BVerticalPadding = 8;

/// 默认线宽
const double _BBorderWith = 1;

Expand Down Expand Up @@ -95,8 +89,6 @@ class BrnBigOutlineButton extends StatelessWidget {
width: width ?? double.infinity,
height: defaultThemeConfig.bigButtonHeight),
onTap: onTap,
insertPadding: EdgeInsets.symmetric(
vertical: _BVerticalPadding, horizontal: _BHorizontalPadding),
backgroundColor: Colors.white,
disableBackgroundColor: Color(0xffcccccc).withOpacity(0.1),
);
Expand Down
70 changes: 33 additions & 37 deletions lib/src/components/button/brn_icon_button.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@


import 'package:bruno/src/theme/brn_theme_configurator.dart';
import 'package:flutter/material.dart';

Expand Down Expand Up @@ -73,7 +71,7 @@ class BrnIconButton extends StatefulWidget {
this.padding = 4,
this.style,
this.mainAxisAlignment = MainAxisAlignment.center,
});
}): super(key: key);

@override
_BrnIconButtonState createState() => _BrnIconButtonState();
Expand All @@ -82,7 +80,7 @@ class BrnIconButton extends StatefulWidget {
class _BrnIconButtonState extends State<BrnIconButton> {
@override
Widget build(BuildContext context) {
Container? ctn;
Container ctn;
// 图文的方向 bottom、文字在下 icon在上 top、文字在上 icon在下
// Left、文字在左 icon在右 right、文字在右 icon在左
if (widget.direction == Direction.bottom) {
Expand All @@ -95,9 +93,7 @@ class _BrnIconButtonState extends State<BrnIconButton> {
children: <Widget>[
// 图片
Container(
height: widget.iconHeight,
width: widget.iconWidth,
child: widget.iconWidget),
height: widget.iconHeight, width: widget.iconWidth, child: widget.iconWidget),
Padding(
padding: EdgeInsets.only(top: widget.padding),
child: Text(
Expand All @@ -107,100 +103,100 @@ class _BrnIconButtonState extends State<BrnIconButton> {
fontSize: 11,
color: BrnThemeConfigurator.instance
.getConfig()
.commonConfig.colorTextSecondary,
.commonConfig
.colorTextSecondary,
),
overflow: TextOverflow.ellipsis,
),
)
],
));
} else if (widget.direction == Direction.top) {
} else if (widget.direction == Direction.left) {
ctn = Container(
height: widget.widgetHeight,
width: widget.widgetWidth,
child: Column(
child: Row(
mainAxisAlignment: widget.mainAxisAlignment,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
// 图片
Container(
height: widget.iconHeight, width: widget.iconWidth, child: widget.iconWidget),
Padding(
padding: EdgeInsets.only(bottom: widget.padding),
padding: EdgeInsets.only(left: widget.padding),
child: Text(
widget.name,
style: widget.style ??
TextStyle(
fontSize: 11,
color: BrnThemeConfigurator.instance
.getConfig()
.commonConfig.colorTextSecondary,
.commonConfig
.colorTextSecondary,
),
overflow: TextOverflow.ellipsis,
),
),

// 图片
Container(
child: widget.iconWidget,
height: widget.iconHeight,
width: widget.iconWidth,
),
)
],
));
} else if (widget.direction == Direction.left) {
} else if (widget.direction == Direction.right) {
ctn = Container(
height: widget.widgetHeight,
width: widget.widgetWidth,
child: Row(
mainAxisAlignment: widget.mainAxisAlignment,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
// 图片
Container(
height: widget.iconHeight,
width: widget.iconWidth,
child: widget.iconWidget),
Padding(
padding: EdgeInsets.only(left: widget.padding),
padding: EdgeInsets.only(right: widget.padding),
child: Text(
widget.name,
style: widget.style ??
TextStyle(
fontSize: 11,
color: BrnThemeConfigurator.instance
.getConfig()
.commonConfig.colorTextSecondary,
.commonConfig
.colorTextSecondary,
),
overflow: TextOverflow.ellipsis,
),
)
),
// 图片
Container(
height: widget.iconHeight, width: widget.iconWidth, child: widget.iconWidget),
],
));
} else if (widget.direction == Direction.right) {
} else {
ctn = Container(
height: widget.widgetHeight,
width: widget.widgetWidth,
child: Row(
child: Column(
mainAxisAlignment: widget.mainAxisAlignment,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Padding(
padding: EdgeInsets.only(right: widget.padding),
padding: EdgeInsets.only(bottom: widget.padding),
child: Text(
widget.name,
style: widget.style ??
TextStyle(
fontSize: 11,
color: BrnThemeConfigurator.instance
.getConfig()
.commonConfig.colorTextSecondary,
.commonConfig
.colorTextSecondary,
),
overflow: TextOverflow.ellipsis,
),
),

// 图片
Container(
height: widget.iconHeight,
width: widget.iconWidth,
child: widget.iconWidget),
child: widget.iconWidget,
height: widget.iconHeight,
width: widget.iconWidth,
),
],
));
}
Expand All @@ -213,6 +209,6 @@ class _BrnIconButtonState extends State<BrnIconButton> {
},
);
}
return ctn!;
return ctn;
}
}
Loading

0 comments on commit 7add53d

Please sign in to comment.