update list tile

master
张萌 3 years ago
parent b8fa6bcefc
commit 9179957890

@ -1,8 +1,8 @@
import 'package:ansu_ui/extension/num_extension.dart';
import 'package:ansu_ui/styles/as_colors.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:ansu_ui/styles/as_colors.dart';
import 'package:ansu_ui/extension/num_extension.dart';
class ASEditTile extends StatelessWidget { class ASEditTile extends StatelessWidget {
final Widget? title; final Widget? title;
@ -17,6 +17,8 @@ class ASEditTile extends StatelessWidget {
final Widget? suffix; final Widget? suffix;
final bool? obscureText; final bool? obscureText;
final String? obscuringCharacter; final String? obscuringCharacter;
final bool enableEdit;
ASEditTile({ ASEditTile({
Key? key, Key? key,
this.title, this.title,
@ -31,7 +33,9 @@ class ASEditTile extends StatelessWidget {
this.suffix, this.suffix,
this.obscureText, this.obscureText,
this.obscuringCharacter, this.obscuringCharacter,
this.enableEdit=true,
}) : super(key: key); }) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ConstrainedBox( return ConstrainedBox(
@ -56,6 +60,7 @@ class ASEditTile extends StatelessWidget {
Expanded( Expanded(
child: TextField( child: TextField(
controller: controller, controller: controller,
enabled: enableEdit,
onChanged: onChange, onChanged: onChange,
inputFormatters: inputFormatters, inputFormatters: inputFormatters,
keyboardType: keyBoardType, keyboardType: keyBoardType,

@ -17,6 +17,10 @@ class ASListTile extends StatelessWidget {
/// ///
final CrossAxisAlignment? crossAxisAlignment; final CrossAxisAlignment? crossAxisAlignment;
///
final bool visible;
ASListTile({ ASListTile({
Key? key, Key? key,
this.title, this.title,
@ -24,51 +28,56 @@ class ASListTile extends StatelessWidget {
this.trail, this.trail,
this.height, this.height,
this.crossAxisAlignment, this.crossAxisAlignment,
this.visible = true,
}) : super(key: key); }) : super(key: key);
ASListTile.option({ ASListTile.option({
Key? key, Key? key,
this.title, this.title,
this.text, this.text,
this.trail, this.trail,
this.visible = true,
}) : height = 32.w, }) : height = 32.w,
crossAxisAlignment = CrossAxisAlignment.center, crossAxisAlignment = CrossAxisAlignment.center,
super(key: key); super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Offstage(
margin: height == null offstage: !visible,
? EdgeInsets.symmetric(vertical: 8.w, horizontal: 10.w) child: Container(
: EdgeInsets.symmetric(horizontal: 10.w), margin: height == null
height: height, ? EdgeInsets.symmetric(vertical: 8.w, horizontal: 10.w)
alignment: Alignment.centerLeft, : EdgeInsets.symmetric(horizontal: 10.w),
child: Row( height: height,
crossAxisAlignment: alignment: Alignment.centerLeft,
crossAxisAlignment ?? CrossAxisAlignment.start, child: Row(
children: [ crossAxisAlignment: crossAxisAlignment ?? CrossAxisAlignment.start,
Container( children: [
width: 85.w, Container(
child: Text( width: 85.w,
title!, child: Text(
maxLines: 1, title!,
overflow: TextOverflow.visible, maxLines: 1,
softWrap: false, overflow: TextOverflow.visible,
style: TextStyle(color: kTextColor, fontSize: 14.sp), softWrap: false,
style: TextStyle(color: kTextColor, fontSize: 14.sp),
),
),
Expanded(
child: text == null
? Text('')
: text is String
? Text(
text,
maxLines: 2,
style: TextStyle(color: kTextSubColor, fontSize: 14.sp),
)
: text,
), ),
), trail ?? SizedBox()
Expanded( ],
child: text == null ),
? Text('')
: text is String
? Text(
text,
maxLines: 2,
style: TextStyle(color: kTextSubColor, fontSize: 14.sp),
)
: text,
),
trail ?? SizedBox()
],
), ),
); );
} }

Loading…
Cancel
Save