diff --git a/example/lib/example_listtile.dart b/example/lib/example_listtile.dart new file mode 100644 index 0000000..bfb4863 --- /dev/null +++ b/example/lib/example_listtile.dart @@ -0,0 +1,45 @@ +import 'package:ansu_ui/ansu_ui.dart'; +import 'package:ansu_ui/divider/as_divider.dart'; +import 'package:ansu_ui/widget/as_listtile.dart'; +import 'package:flutter/material.dart'; + +class ExampleListTile extends StatefulWidget { + ExampleListTile({Key key}) : super(key: key); + + @override + _ExampleListTileState createState() => _ExampleListTileState(); +} + +class _ExampleListTileState extends State { + @override + Widget build(BuildContext context) { + return ASScaffold( + title: 'ASListTile', + body: ListView( + children: [ + SizedBox(height: 8.w,), + Container( + color: Color(0xFFFFFFFF), + padding: EdgeInsets.symmetric(horizontal: 8.w), + child: Column( + children: [ + ASListTile( + title: '转单号(UPS)', + text: 'DFADN2329TNAGA', + trail: Icon(Icons.ac_unit_rounded), + ), + ASDivider(), + ASListTile( + title: '订单编号', + text: + 'DDAWMFOAGNAIOWNGOANIWOGNAOWIDJAWIOHFA92474Y2798489TY892YH8G67TGT2UBF29GB8298H42897YH472H', + trail: Icon(Icons.ac_unit_outlined), + ), + ], + ), + ), + ], + ), + ); + } +} diff --git a/example/lib/main.dart b/example/lib/main.dart index 9225b9e..e6b2543 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -2,6 +2,7 @@ import 'package:ansu_ui/ansu_ui.dart'; import 'package:example/example_bottom_button.dart'; import 'package:example/example_dialog.dart'; import 'package:example/example_drawer.dart'; +import 'package:example/example_listtile.dart'; import 'package:example/example_tag.dart'; import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; @@ -98,6 +99,9 @@ class _MyHomePageState extends State { title: '对话框 Dialog', onPressed: () => Get.to(ExampleDialog()), ), + ASButton.info(title:'列表内容项 ListTile', + onPressed: () => Get.to(ExampleListTile()), + ) ], ), ); diff --git a/lib/widget/as_listtile.dart b/lib/widget/as_listtile.dart new file mode 100644 index 0000000..097de63 --- /dev/null +++ b/lib/widget/as_listtile.dart @@ -0,0 +1,61 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; + +class ASListTile extends StatefulWidget { + ///主标题 + final String title; + + ///动态类型,可传入widget + final dynamic text; + + ///内容 + final Widget trail; + + ///宽度,默认332px + final double width; + ASListTile({ + Key key, + this.title, + this.text, + this.trail, + this.width, + }) : super(key: key); + + @override + _ASListTileState createState() => _ASListTileState(); +} + +class _ASListTileState extends State { + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.symmetric(vertical: 8.w), + alignment: Alignment.centerLeft, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + width: 85.w, + child: Text( + widget.title, + maxLines: 1, + overflow: TextOverflow.visible, + softWrap: false, + style: TextStyle(color: Color(0xD9000000), fontSize: 14.sp), + ), + ), + Expanded( + child: widget.text is String + ? Text( + widget.text, + maxLines: 2, + style: TextStyle(color: Color(0xA6000000), fontSize: 14.sp), + ) + : widget.text, + ), + widget.trail ?? SizedBox(), + ], + ), + ); + } +}