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,27 +28,31 @@ 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(
offstage: !visible,
child: Container(
margin: height == null margin: height == null
? EdgeInsets.symmetric(vertical: 8.w, horizontal: 10.w) ? EdgeInsets.symmetric(vertical: 8.w, horizontal: 10.w)
: EdgeInsets.symmetric(horizontal: 10.w), : EdgeInsets.symmetric(horizontal: 10.w),
height: height, height: height,
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: Row( child: Row(
crossAxisAlignment: crossAxisAlignment: crossAxisAlignment ?? CrossAxisAlignment.start,
crossAxisAlignment ?? CrossAxisAlignment.start,
children: [ children: [
Container( Container(
width: 85.w, width: 85.w,
@ -70,6 +78,7 @@ class ASListTile extends StatelessWidget {
trail ?? SizedBox() trail ?? SizedBox()
], ],
), ),
),
); );
} }
} }

Loading…
Cancel
Save