update extension

null_safety
张萌 4 years ago
parent 2f4c29535f
commit 65f7a9c914

@ -0,0 +1,47 @@
import 'package:ansu_ui/ansu_ui.dart';
import 'package:flutter/material.dart';
import 'package:ansu_ui/ansu_ui.dart';
class ExampleExtension extends StatefulWidget {
ExampleExtension({Key key}) : super(key: key);
@override
_ExampleExtensionState createState() => _ExampleExtensionState();
}
class _ExampleExtensionState extends State<ExampleExtension> {
@override
Widget build(BuildContext context) {
return ASScaffold(
title: 'Extension',
body: ListView(
children: [
ListTile(
title: Text('.phone'),
trailing: Text('17855823545 => ${'17855823545'.phone}'),
),
ListTile(
title: Text('.comma'),
trailing: Text('1000 => ${1000.comma}'),
),
ListTile(
title: Text('.comma'),
trailing: Text('1000000 => ${1000000.comma}'),
),
ListTile(
title: Text('.comma'),
trailing: Text('100.00 => ${100.00.comma}'),
),
ListTile(
title: Text('.comma'),
trailing: Text('0.123456 => ${0.123456.comma}'),
),
ListTile(
title: Text('.comma'),
trailing: Text('123456.789 => ${123456.789.comma}'),
),
],
),
);
}
}

@ -3,6 +3,7 @@ import 'package:example/example_bottom_button.dart';
import 'package:example/example_box.dart'; import 'package:example/example_box.dart';
import 'package:example/example_dialog.dart'; import 'package:example/example_dialog.dart';
import 'package:example/example_drawer.dart'; import 'package:example/example_drawer.dart';
import 'package:example/example_extension.dart';
import 'package:example/example_listtile.dart'; import 'package:example/example_listtile.dart';
import 'package:example/example_refresh.dart'; import 'package:example/example_refresh.dart';
import 'package:example/example_tag.dart'; import 'package:example/example_tag.dart';
@ -78,6 +79,10 @@ class _MainHomeState extends State<MainHome> {
title: '选框 Box', title: '选框 Box',
onPressed: () => Get.to(ExampleBox()), onPressed: () => Get.to(ExampleBox()),
), ),
ASButton.info(
title: '插件 Extension',
onPressed: () => Get.to(ExampleExtension()),
),
], ],
); );
} }

@ -37,8 +37,9 @@ export 'text_field/as_search_text_field.dart';
export 'utils/screen_adapter.dart'; export 'utils/screen_adapter.dart';
export 'extension/sizedbox_extension.dart'; export 'extension/num_extension.dart';
export 'extension/separate_extension.dart'; export 'extension/widget_extension.dart';
export 'extension/string_extension.dart';
//`BOTTOM` is external lib //`BOTTOM` is external lib
export 'package:flutter_screenutil/flutter_screenutil.dart'; export 'package:flutter_screenutil/flutter_screenutil.dart';

@ -2,7 +2,7 @@ import 'package:ansu_ui/styles/as_colors.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:ansu_ui/extension/sizedbox_extension.dart'; import 'package:ansu_ui/extension/num_extension.dart';
class ASDialog extends StatefulWidget { class ASDialog extends StatefulWidget {
final bool close; final bool close;

@ -0,0 +1,43 @@
import 'package:ansu_ui/ansu_ui.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
extension NumExt on num {
/// SizedBox
Widget get wb => SizedBox(width: this.w);
/// SizedBox
Widget get hb => SizedBox(height: this.w);
///
BorderRadius get radius => BorderRadius.circular(this.w);
///
String get comma {
String _num = this.toString();
String str = '';
int count = 0;
if (_num.indexOf('.') == -1) {
for (var i = _num.length - 1; i >= 0; i--) {
if (count % 3 == 0 && count != 0) {
str = _num.substring(i, i + 1) + ',' + str;
} else {
str = _num.substring(i, i + 1) + str;
}
count++;
}
return str;
} else {
for (var i = _num.indexOf('.') - 1; i >= 0; i--) {
if (count % 3 == 0 && count!= 0) {
str = _num.substring(i, i + 1) + ',' + str;
} else {
str = _num.substring(i, i + 1) + str;
}
count++;
}
str=str+(_num.substring(_num.indexOf('.'),_num.length));
return str;
}
}
}

@ -1,14 +0,0 @@
import 'package:ansu_ui/ansu_ui.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
extension NumExt on num {
/// SizedBox
Widget get wb => SizedBox(width: this.w);
/// SizedBox
Widget get hb => SizedBox(height: this.w);
///
BorderRadius get radius => BorderRadius.circular(this.w);
}

@ -0,0 +1,10 @@
extension PhoneExt on String {
String get phone {
///线
return (this.substring(0, 3) +
'-' +
this.substring(3, 7) +
'-' +
this.substring(7, 11));
}
}

@ -1,7 +1,7 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:ansu_ui/extension/sizedbox_extension.dart'; import 'package:ansu_ui/extension/num_extension.dart';
class ASOptionTileItem extends StatelessWidget { class ASOptionTileItem extends StatelessWidget {
final Widget leading; final Widget leading;

Loading…
Cancel
Save