You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

206 lines
6.9 KiB

4 years ago
import 'package:flutter/material.dart';
import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/view_widget/item_input_widget.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:huixiang/view_widget/round_button.dart';
class RechargePage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _RechargePage();
}
}
class _RechargePage extends State<RechargePage> {
TextEditingController controller;
Color color = Colors.black;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
S.of(context).chongzhi,
style: TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 18,
),
),
centerTitle: false,
backgroundColor: Color(0xFFFFFFFF),
elevation: 0,
leading: GestureDetector(
onTap: () {
Navigator.of(context).pop();
},
child: Container(
alignment: Alignment.centerRight,
margin: EdgeInsets.only(left: 10),
padding: EdgeInsets.all(6),
child: Icon(
Icons.arrow_back_ios,
color: Colors.black,
size: 24,
),
),
),
titleSpacing: 2,
leadingWidth: 56,
),
body: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: Container(
child: Column(
children: [
ItemInputWidget(
S.of(context).qingshuruchongzhijine,
hintText: "",
controller: controller,
inputType: 1,
padding: EdgeInsets.all(20),
heightPercentage: 0.16.sh,
errorText: S.of(context).chongzhizuixiaojine(10),
titleColor: Color(0xFF727272),
errorTextColor: Color(0xFF32A060),
radius: 8,
style: TextStyle(
fontWeight: FontWeight.bold, fontSize: 30.sp, color: color),
inputLimit: 16,
textInputType: TextInputType.number,
onChanged: (value) {
if (value != null &&
value != "" &&
double.tryParse(value) < 10) {
color = Colors.red;
} else {
color = Colors.black;
}
setState(() {});
},
),
Container(
width: double.infinity,
height: 0.171.sh,
margin:
EdgeInsets.only(left: 20, right: 20, top: 12, bottom: 4),
padding:
EdgeInsets.only(left: 20, right: 16, top: 20, bottom: 20),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Color(0x000000).withAlpha(25),
offset: Offset(0, 1),
blurRadius: 12.0,
),
],
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(4),
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: EdgeInsets.only(bottom: 16),
child: Text(
S.of(context).zhifufangshi,
style: TextStyle(
fontSize: 16,
color: color,
fontWeight: FontWeight.bold,
),
),
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Image.asset("assets/image/icon_alipay.png"),
Expanded(
flex: 1,
child: Padding(
padding: EdgeInsets.only(left: 8, bottom: 20),
child: Text(S.of(context).zhifubao,
style: TextStyle(
fontSize: 14,
color: Color(0xff353535),
)),
),
),
checkView(0),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Image.asset("assets/image/icon_we_chat.png"),
Expanded(
flex: 1,
child: Padding(
padding: EdgeInsets.only(left: 8),
child: Text(S.of(context).weixinzhifu,
style: TextStyle(
fontSize: 14,
color: Color(0xff353535),
)),
),
),
checkView(1),
],
)
],
),
),
Container(
margin: EdgeInsets.only(left: 20, right: 20, top: 26),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
RoundButton(
width: double.infinity,
height: 46,
text:S.of(context).querenchongzhi,
textColor: Colors.white,
fontSize: 14,
backgroup: Color(0xff32A060),
fontWeight: FontWeight.bold,
),
],
),
),
],
),
),
),
);
}
var checkIndex = 0;
Widget checkView(var index) {
return GestureDetector(
onTap: () {
setState(() {
checkIndex = index;
});
},
child: Container(
padding: EdgeInsets.only(right: 16),
alignment: Alignment.center,
child: Image.asset(
checkIndex != index
? "assets/image/icon_radio_unselected.png"
: "assets/image/icon_radio_selected.png",
width: 15,
height: 15,
)),
);
}
}