diff --git a/example/lib/example_listtile.dart b/example/lib/example_listtile.dart index ad377f5..8ec6128 100644 --- a/example/lib/example_listtile.dart +++ b/example/lib/example_listtile.dart @@ -20,25 +20,20 @@ class _ExampleListTileState extends State { SizedBox( height: 8.w, ), - Container( - color: Color(0xFFFFFFFF), - padding: EdgeInsets.symmetric(horizontal: 8.w), - child: Column( - children: [ - ASListTile( + ASOptionTile( + items: [ + ASListTile( title: '转单号(UPS)', text: 'DFADN2329TNAGA', trail: Icon(Icons.ac_unit_rounded), ), - ASDivider(), - ASListTile( + ASListTile( title: '订单编号', text: 'DDAWMFOAGNAIOWNGOANIWOGNAOWIDJAWIOHFA92474Y2798489TY892YH8G67TGT2UBF29GB8298H42897YH472H', // trail: Icon(Icons.ac_unit_outlined), ), - ], - ), + ], ), 20.hb, ASOptionTile( diff --git a/lib/list_tile/as_list_tile.dart b/lib/list_tile/as_list_tile.dart index 2a7eebb..a432dc2 100644 --- a/lib/list_tile/as_list_tile.dart +++ b/lib/list_tile/as_list_tile.dart @@ -14,12 +14,16 @@ class ASListTile extends StatefulWidget { ///宽度,默认332px final double width; + + ///对齐方式 + final CrossAxisAlignment crossAxisAlignment; ASListTile({ Key key, this.title, this.text, this.trail, this.width, + this.crossAxisAlignment, }) : super(key: key); @override @@ -30,10 +34,11 @@ class _ASListTileState extends State { @override Widget build(BuildContext context) { return Container( - margin: EdgeInsets.symmetric(vertical: 8.w), + margin: EdgeInsets.symmetric(vertical: 8.w,horizontal: 10.w), alignment: Alignment.centerLeft, child: Row( - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: + widget.crossAxisAlignment ?? CrossAxisAlignment.start, children: [ Container( width: 85.w, diff --git a/lib/list_tile/as_option_tile.dart b/lib/list_tile/as_option_tile.dart index 82a639f..99584ff 100644 --- a/lib/list_tile/as_option_tile.dart +++ b/lib/list_tile/as_option_tile.dart @@ -11,11 +11,15 @@ class ASOptionTile extends StatelessWidget { ///单个Widget final Widget item; + ///内边距 + final EdgeInsetsGeometry padding; + ///item 推荐使用`ASOptionTileItem`,`ASVerticalTileItem`,`ASListTile` - ASOptionTile({Key key, this.items, this.item}) : super(key: key); + ASOptionTile({Key key, this.items, this.item, this.padding}) + : super(key: key); ///单个子组件的Tile - ASOptionTile.single({Key key, @required this.item}) + ASOptionTile.single({Key key, @required this.item, this.padding}) : items = [], super(key: key); @@ -24,20 +28,24 @@ class ASOptionTile extends StatelessWidget { @override Widget build(BuildContext context) { return Material( - color: kForegroundColor, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(5.w), - ), - child: item ?? - Column( - children: List.generate(length * 2 - 1, (index) { - final displayIndex = index ~/ 2; - if (index.isEven) - return items[displayIndex]; - else - return ASDivider(indent: 14.w, endIndent: 14.w); - }), - ), - ); + color: kForegroundColor, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5.w), + ), + child: Padding( + padding: this.padding ?? EdgeInsets.zero, + child: item ?? + Column( + children: List.generate(length * 2 - 1, (index) { + final displayIndex = index ~/ 2; + if (index.isEven) + return items[displayIndex]; + else + return this.padding == null + ? ASDivider(indent: 10.w, endIndent: 10.w) + : ASDivider(); + }), + ), + )); } }