|
@@ -2,6 +2,7 @@ import 'package:carousel_slider/carousel_slider.dart';
|
2
|
2
|
import 'package:flutter/material.dart';
|
3
|
3
|
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
4
|
4
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
5
|
+import 'package:get/get.dart';
|
5
|
6
|
|
6
|
7
|
import '../../../../../models/entities/Banners.dart';
|
7
|
8
|
import '../../../../../services/homeAPI.dart';
|
|
@@ -14,12 +15,9 @@ class searchBannerHeader extends StatefulWidget {
|
14
|
15
|
State<searchBannerHeader> createState() => _searchBannerHeaderState();
|
15
|
16
|
}
|
16
|
17
|
|
17
|
|
-
|
18
|
18
|
class _searchBannerHeaderState extends State<searchBannerHeader> {
|
19
|
19
|
List<Banners> bannerList = [];
|
20
|
20
|
|
21
|
|
-
|
22
|
|
-
|
23
|
21
|
@override
|
24
|
22
|
void initState() {
|
25
|
23
|
super.initState();
|
|
@@ -35,45 +33,44 @@ class _searchBannerHeaderState extends State<searchBannerHeader> {
|
35
|
33
|
});
|
36
|
34
|
EasyLoading.dismiss();
|
37
|
35
|
});
|
38
|
|
-
|
39
|
|
-
|
40
|
36
|
}
|
|
37
|
+
|
41
|
38
|
@override
|
42
|
39
|
Widget build(BuildContext context) {
|
43
|
|
- return Column(
|
|
40
|
+ return Column(
|
44
|
41
|
children: [
|
45
|
42
|
SizedBox(
|
46
|
|
- child: TypeHeader(
|
|
43
|
+ child: TypeHeader(
|
47
|
44
|
type: true,
|
48
|
45
|
),
|
49
|
46
|
),
|
50
|
|
-
|
51
|
47
|
Container(
|
52
|
48
|
margin: EdgeInsets.fromLTRB(0, 15, 0, 0),
|
53
|
49
|
child: CarouselSlider(
|
54
|
50
|
items: bannerList
|
55
|
|
- .map((item) => Container(
|
56
|
|
- child: Center(
|
57
|
|
- child: Image.network(
|
58
|
|
- item.thumb.toString(),
|
59
|
|
- fit: BoxFit.cover,
|
60
|
|
- width: 350.w)),
|
61
|
|
- ))
|
|
51
|
+ .map(
|
|
52
|
+ (item) => GestureDetector(
|
|
53
|
+ child: Center(
|
|
54
|
+ child: Image.network(item.thumb.toString(),
|
|
55
|
+ fit: BoxFit.cover, width: 350.w)),
|
|
56
|
+ onTap: () {
|
|
57
|
+ Get.toNamed("/ArticleInfo", arguments: {'newsId': 'c78e33988fbabee63154ca91e78dfc28'});
|
|
58
|
+ })
|
|
59
|
+ )
|
62
|
60
|
.toList(),
|
63
|
61
|
options: CarouselOptions(
|
64
|
62
|
autoPlay: true,
|
65
|
|
- enlargeCenterPage: false, //图片中心放大
|
66
|
|
- viewportFraction:
|
67
|
|
- 1, //每个页面应占据的视口部分。默认为 0.8,这意味着每个页面填充 80% 的轮播。
|
|
63
|
+ enlargeCenterPage: false,
|
|
64
|
+ //图片中心放大
|
|
65
|
+ viewportFraction: 1,
|
|
66
|
+ //每个页面应占据的视口部分。默认为 0.8,这意味着每个页面填充 80% 的轮播。
|
68
|
67
|
// aspectRatio: 1.6,//纵横比
|
69
|
68
|
height: 214.w,
|
70
|
69
|
initialPage: 1, //初始页
|
71
|
70
|
),
|
72
|
71
|
),
|
73
|
72
|
),
|
74
|
|
-
|
75
|
73
|
],
|
76
|
74
|
);
|
77
|
|
-
|
78
|
75
|
}
|
79
|
76
|
}
|