Skip to content

Commit

Permalink
animated buttonlist
Browse files Browse the repository at this point in the history
  • Loading branch information
liamkuan committed Apr 12, 2019
1 parent ac99a94 commit fe51da9
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 50 deletions.
6 changes: 6 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,11 @@
"request": "launch",
"program": "lib/main.dart"
},
{
"name": "Flutter: Run all Tests",
"type": "dart",
"request": "launch",
"program": "./test/testCommand.dart"
}
]
}
8 changes: 5 additions & 3 deletions lib/src/command/matrix.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@ class MatrixUtil {
buffer.write(' ');
buffer.write(d.toStringAsFixed(SettingData.fixedNum.round()) + ' ');
}
buffer.write("\n");
buffer.write("\n\n");
}
return buffer.toString();
var result = buffer.toString();
result = result.substring(0,result.length - 2);
return result;
}

///矩阵复制
Expand Down Expand Up @@ -248,7 +250,7 @@ class MatrixUtil {
static List<List<num>> upperTriangular(List<List<num>> list) {
//(n-1)!*2n (n-1)!n
var newlist = copyMatrix(list); //拷贝出一个新矩阵
var divisor = new List(list.length); //记录对角线下的每一行的倍数
var divisor = new List(list.length); //用于记录对角线下的每一行的倍数
for (int i = 0; i < newlist.length; i++) {
if (newlist[i][i] == 0) {
//如果该对角线上的元素为零,将最近的不为零的一行换上来
Expand Down
68 changes: 26 additions & 42 deletions lib/src/view/route/equationRoute.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ class EquationRoute extends StatefulWidget {
class _EquationRouteState extends State<EquationRoute>
with TickerProviderStateMixin {
final TextEditingController _lineQuasController = TextEditingController();
final TextEditingController _varController = TextEditingController();
final FocusNode _lineQuasFocusNode = new FocusNode();
final FocusNode _varFocusNode = new FocusNode();
AnimationController controller;
Animation<double> animation;
String result = '';
Expand All @@ -41,35 +39,29 @@ class _EquationRouteState extends State<EquationRoute>
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(XiaomingLocalizations.of(context).equationTip),
SizedBox(height: 50.0,),
Container(
padding: const EdgeInsets.symmetric(vertical: 20.0, horizontal: 40.0),
child: CupertinoTextField(
clearButtonMode: OverlayVisibilityMode.editing,
focusNode: _lineQuasFocusNode,
controller: _lineQuasController,
textCapitalization: TextCapitalization.words,
decoration: BoxDecoration(
border: Border(
bottom:
BorderSide(width: 0.0, color: CupertinoColors.black)),
),
placeholder: 'Equation',
),
SizedBox(
height: 50.0,
),
Container(
padding: EdgeInsets.symmetric(vertical: 20.0, horizontal: 40.0),
child: CupertinoTextField(
clearButtonMode: OverlayVisibilityMode.editing,
focusNode: _varFocusNode,
controller: _varController,
textCapitalization: TextCapitalization.words,
decoration: BoxDecoration(
border: Border(
bottom:
BorderSide(width: 0.0, color: CupertinoColors.black)),
padding:
const EdgeInsets.symmetric(vertical: 20.0, horizontal: 40.0),
child: Card(
elevation: 0.0,
child: Container(
padding: const EdgeInsets.all(10.0),
child: CupertinoTextField(
clearButtonMode: OverlayVisibilityMode.editing,
focusNode: _lineQuasFocusNode,
controller: _lineQuasController,
textCapitalization: TextCapitalization.words,
decoration: BoxDecoration(
border: Border(
bottom:
BorderSide(width: 0.0, color: CupertinoColors.black)),
),
placeholder: 'Equation',
),
),
placeholder: 'Parameter',
),
),
Container(
Expand Down Expand Up @@ -130,6 +122,7 @@ class _EquationRouteState extends State<EquationRoute>
color: CupertinoColors.black,
),
child: CupertinoPageScaffold(
backgroundColor: CupertinoColors.lightBackgroundGray,
navigationBar: CupertinoNavigationBar(
trailing: buildTrailingBar(<Widget>[
CupertinoButton(
Expand Down Expand Up @@ -162,7 +155,6 @@ class _EquationRouteState extends State<EquationRoute>
behavior: HitTestBehavior.translucent,
onTap: () {
_lineQuasFocusNode.unfocus();
_varFocusNode.unfocus();
},
child: SingleChildScrollView(
child: Container(
Expand All @@ -178,20 +170,12 @@ class _EquationRouteState extends State<EquationRoute>

void _handleLineEquation() {
_lineQuasFocusNode.unfocus();
_varFocusNode.unfocus();
if (_lineQuasController.text.length != 0) {
if (_varController.text.length != 0) {
EquationsUtil handle = EquationsUtil.getInstance();
var re = handle.handleEquation(
_lineQuasController.text);
setState(() {
result = re;
});
} else {
setState(() {
result = XiaomingLocalizations.of(context).variableNotEmpty;
});
}
EquationsUtil handle = EquationsUtil.getInstance();
var re = handle.handleEquation(_lineQuasController.text);
setState(() {
result = re;
});
} else {
setState(() {
result = XiaomingLocalizations.of(context).equationNotEmpty;
Expand Down
8 changes: 4 additions & 4 deletions lib/src/view/route/homeRoute.dart
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@ class HomeRouteState extends State<HomeRoute> with TickerProviderStateMixin {
height: _buttonsIsVisible ? 1.0 : 0.0,
color: _buttonsIsVisible ? Colors.black : null,
),
new Container(
decoration: new BoxDecoration(
color: Theme.of(context).cardColor,
),
AnimatedSize(
vsync: this,
curve: Curves.ease,
duration: Duration(milliseconds: 500),
child: Container(
height: _buttonsIsVisible ? 200.0 : 0.0,
child: buildButtons(_handleTextButton),
Expand Down
4 changes: 4 additions & 0 deletions lib/src/view/widget/myButtons.dart
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ class _SettingSheetState extends State<SettingSheet> {
onPressed();
},
child: const Text("Delete All Message"),
),
CupertinoActionSheetAction(
onPressed: () {},
child: Text('Language: ${Localizations.localeOf(context).languageCode == 'zh' ? 'Chinese' : 'English'}'),
)
],
cancelButton: CupertinoActionSheetAction(
Expand Down
2 changes: 1 addition & 1 deletion test/testCommand.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import 'package:xiaoming/src/data/appData.dart';

void main() {
final ud = new UserData();

test('testEquation', () {
var instance = EquationsUtil.getInstance();
print(instance.handleEquation('1,-2,1'));
Expand Down

0 comments on commit fe51da9

Please sign in to comment.