w-R
3 years ago
13 changed files with 286 additions and 49 deletions
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 576 B After Width: | Height: | Size: 707 B |
@ -0,0 +1,193 @@
|
||||
import 'package:flutter/cupertino.dart'; |
||||
import 'package:flutter/material.dart'; |
||||
import 'package:huixiang/retrofit/retrofit_api.dart'; |
||||
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||
import 'package:huixiang/utils/font_weight.dart'; |
||||
import 'package:huixiang/view_widget/classic_header.dart'; |
||||
import 'package:huixiang/view_widget/custom_image.dart'; |
||||
import 'package:huixiang/view_widget/my_footer.dart'; |
||||
import 'package:pull_to_refresh/pull_to_refresh.dart'; |
||||
|
||||
class PersonalPage extends StatefulWidget { |
||||
@override |
||||
State<StatefulWidget> createState() { |
||||
return _PersonalPage(); |
||||
} |
||||
} |
||||
|
||||
class _PersonalPage extends State<PersonalPage> |
||||
with WidgetsBindingObserver { |
||||
ApiService apiService; |
||||
final RefreshController refreshController = RefreshController(); |
||||
final ScrollController scrollController = ScrollController(); |
||||
|
||||
@override |
||||
void initState() { |
||||
super.initState(); |
||||
WidgetsBinding.instance.addObserver(this); |
||||
_onRefresh(); |
||||
} |
||||
|
||||
_onRefresh() { |
||||
|
||||
} |
||||
|
||||
@override |
||||
Widget build(BuildContext context) { |
||||
return Stack( |
||||
children: [ |
||||
Positioned( |
||||
child: Container( |
||||
color: Colors.white, |
||||
child: SmartRefresher( |
||||
controller: refreshController, |
||||
enablePullDown: true, |
||||
enablePullUp: true, |
||||
header: MyHeader(), |
||||
footer: CustomFooter( |
||||
builder: (context, mode) { |
||||
return MyFooter(mode); |
||||
}, |
||||
), |
||||
onRefresh: _onRefresh, |
||||
onLoading: () { |
||||
_onRefresh(); |
||||
}, |
||||
physics: BouncingScrollPhysics(), |
||||
scrollController: scrollController, |
||||
child: Container( |
||||
child: SingleChildScrollView( |
||||
physics: BouncingScrollPhysics(), |
||||
child: Container( |
||||
color: Color(0xFFF7F7F7), |
||||
child:Column( |
||||
children: [ |
||||
Stack( |
||||
alignment: Alignment.bottomLeft, |
||||
children: [ |
||||
Container( |
||||
// height: 286, |
||||
child: |
||||
Stack( |
||||
alignment: Alignment.bottomCenter, |
||||
children: [ |
||||
Stack( |
||||
children: [ |
||||
Positioned( |
||||
child: Container( |
||||
color: Colors.black, |
||||
child:Opacity( |
||||
opacity:0.9, |
||||
child: MImage( |
||||
"", |
||||
width: double.infinity, |
||||
height: 260.h, |
||||
fit: BoxFit.cover, |
||||
errorSrc: "assets/image/default_1.png", |
||||
fadeSrc: "assets/image/default_1.png", |
||||
) |
||||
) |
||||
) |
||||
), |
||||
Container( |
||||
margin: EdgeInsets.only( |
||||
top: 50.h, left: 16.w, right: 16.w), |
||||
decoration: BoxDecoration( |
||||
color: Colors.transparent, |
||||
), |
||||
child: Column( |
||||
mainAxisAlignment: |
||||
MainAxisAlignment.spaceBetween, |
||||
crossAxisAlignment: |
||||
CrossAxisAlignment.center, |
||||
children: [ |
||||
GestureDetector( |
||||
child: Image.asset( |
||||
"assets/image/integral_return.png", |
||||
width: 24, |
||||
height: 24, |
||||
), |
||||
onTap: () { |
||||
Navigator.of(context).pop(); |
||||
}, |
||||
), |
||||
], |
||||
), |
||||
), |
||||
], |
||||
), |
||||
Container( |
||||
child: Column( |
||||
children: [ |
||||
Padding(padding:EdgeInsets.only(right:16.w,bottom:16.h), |
||||
child: Row( |
||||
children: [ |
||||
Spacer(), |
||||
Container( |
||||
margin: EdgeInsets.only(top: 8, right: 8), |
||||
padding: EdgeInsets.only(left: 2, right: 2), |
||||
width: 59.w, |
||||
height: 21.h, |
||||
alignment: Alignment.center, |
||||
decoration: BoxDecoration( |
||||
borderRadius: BorderRadius.circular(2), |
||||
color: Color(0x80000000), |
||||
), |
||||
child: Text( |
||||
"更换背景", |
||||
overflow:TextOverflow.ellipsis, |
||||
style: TextStyle( |
||||
fontSize: 12.sp, |
||||
fontWeight: MyFontWeight.regular, |
||||
color: Color(0xFFFFFFFF), |
||||
), |
||||
), |
||||
), |
||||
], |
||||
)), |
||||
|
||||
], |
||||
), |
||||
), |
||||
], |
||||
), |
||||
), |
||||
// homeInfo(), |
||||
], |
||||
), |
||||
], |
||||
), |
||||
), |
||||
), |
||||
), |
||||
), |
||||
), |
||||
bottom: 0, |
||||
top: 0, |
||||
left: 0, |
||||
right: 0, |
||||
), |
||||
], |
||||
); |
||||
} |
||||
|
||||
Widget homeInfo(){ |
||||
return Container( |
||||
margin: EdgeInsets.only(left: 16), |
||||
child: Row( |
||||
children: [ |
||||
MImage( |
||||
"", |
||||
isCircle: true, |
||||
width: 66, |
||||
height: 66, |
||||
fit: BoxFit.cover, |
||||
errorSrc: "assets/image/default_user.png", |
||||
fadeSrc: "assets/image/default_user.png", |
||||
), |
||||
], |
||||
), |
||||
); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue