|
|
@@ -1,3 +1,5 @@
|
|
|
+import 'dart:io';
|
|
|
+
|
|
|
import 'package:flutter/material.dart';
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
|
|
@@ -35,64 +37,87 @@ class _MemberRetainDialogWidget extends Dialog {
|
|
|
|
|
|
@override
|
|
|
Widget build(BuildContext context) {
|
|
|
- return Container(
|
|
|
- child: IntrinsicHeight(
|
|
|
- child: Column(
|
|
|
- children: [
|
|
|
- Stack(
|
|
|
- children: [
|
|
|
- AspectRatio(
|
|
|
- aspectRatio: 1110 / 1296,
|
|
|
- child: Assets.images.imgMemberRetainContainer
|
|
|
- .image(width: 301.w)),
|
|
|
- Positioned(
|
|
|
- top: 360.w,
|
|
|
- left: 73.w,
|
|
|
- right: 73.w,
|
|
|
- child: GestureDetector(
|
|
|
- onTap: () {
|
|
|
- MemberRetainDialog.dismiss();
|
|
|
- payClick();
|
|
|
- },
|
|
|
- child: Container(
|
|
|
- height: 40.w,
|
|
|
- decoration: BoxDecoration(
|
|
|
- gradient: LinearGradient(
|
|
|
- begin: Alignment.centerLeft, // 90度相当于从左到右
|
|
|
- end: Alignment.centerRight,
|
|
|
- colors: [
|
|
|
- Color(0xFF7B7DFF), // #7B7DFF
|
|
|
- Color(0xFF6365FF), // #6365FF
|
|
|
- ],
|
|
|
- stops: [0.0, 1.0],
|
|
|
- // 从0%到100%
|
|
|
- ),
|
|
|
- borderRadius: BorderRadius.circular(40.w / 2.0),
|
|
|
- ),
|
|
|
- //getPrimaryBtnDecoration(100.w),
|
|
|
- child: Center(
|
|
|
- child: Text(StringName.memberContinuePay,
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 15.sp, color: Colors.white)),
|
|
|
+ return IntrinsicHeight(
|
|
|
+ child: Column(
|
|
|
+ children: [
|
|
|
+ Stack(
|
|
|
+ children: [
|
|
|
+ Visibility(
|
|
|
+ visible: Platform.isAndroid,
|
|
|
+ child: Positioned(
|
|
|
+ top: 0,
|
|
|
+ left: 10.w,
|
|
|
+ child: SizedBox(
|
|
|
+ width: 300.w,
|
|
|
+ child: AspectRatio(
|
|
|
+ aspectRatio: 987 / 543,
|
|
|
+ child: Assets.images.imgMemberRetainHeader.image()),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Column(
|
|
|
+ children: [
|
|
|
+ SizedBox(height: 110.w),
|
|
|
+ SizedBox(
|
|
|
+ width: 294.w,
|
|
|
+ child: AspectRatio(
|
|
|
+ aspectRatio: 882 / 966,
|
|
|
+ child: Assets.images.imgMemberRetainContainer.image()),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ Positioned(
|
|
|
+ bottom: 22.w,
|
|
|
+ left: 36.w,
|
|
|
+ right: 36.w,
|
|
|
+ child: GestureDetector(
|
|
|
+ onTap: () {
|
|
|
+ MemberRetainDialog.dismiss();
|
|
|
+ payClick();
|
|
|
+ },
|
|
|
+ child: Container(
|
|
|
+ height: 40.w,
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ gradient: LinearGradient(
|
|
|
+ begin: Alignment.centerLeft, // 90度相当于从左到右
|
|
|
+ end: Alignment.centerRight,
|
|
|
+ colors: [
|
|
|
+ Color(0xFF7B7DFF), // #7B7DFF
|
|
|
+ Color(0xFF6365FF), // #6365FF
|
|
|
+ ],
|
|
|
+ stops: [0.0, 1.0],
|
|
|
+ // 从0%到100%
|
|
|
),
|
|
|
+ borderRadius: BorderRadius.circular(40.w / 2.0),
|
|
|
+ ),
|
|
|
+ //getPrimaryBtnDecoration(100.w),
|
|
|
+ child: Center(
|
|
|
+ child: Text(
|
|
|
+ Platform.isAndroid
|
|
|
+ ? StringName.memberContinuePay
|
|
|
+ : StringName.memberContinuePayIos,
|
|
|
+ style:
|
|
|
+ TextStyle(fontSize: 15.sp, color: Colors.white)),
|
|
|
),
|
|
|
),
|
|
|
),
|
|
|
- ],
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ SizedBox(
|
|
|
+ height: 24.w,
|
|
|
+ ),
|
|
|
+ Center(
|
|
|
+ child: GestureDetector(
|
|
|
+ onTap: () {
|
|
|
+ MemberRetainDialog.dismiss();
|
|
|
+ cancelClick();
|
|
|
+ },
|
|
|
+ child: Assets.images.iconMemberRetainClose
|
|
|
+ .image(width: 32.w, height: 32.w),
|
|
|
),
|
|
|
- SizedBox(height: 24.w,),
|
|
|
- Center(
|
|
|
- child: GestureDetector(
|
|
|
- onTap: () {
|
|
|
- MemberRetainDialog.dismiss();
|
|
|
- cancelClick();
|
|
|
- },
|
|
|
- child: Assets.images.iconMemberRetainClose
|
|
|
- .image(width: 32.w, height: 32.w),
|
|
|
- ),
|
|
|
- )
|
|
|
- ],
|
|
|
- ),
|
|
|
+ )
|
|
|
+ ],
|
|
|
),
|
|
|
);
|
|
|
}
|