1
This commit is contained in:
parent
35736fe025
commit
8ad6747402
@ -1,6 +1,7 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:easy_refresh/easy_refresh.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:wallpaperx/common/components/easy_loading.dart';
|
||||
import 'package:wallpaperx/common/http/http_util.dart';
|
||||
@ -12,6 +13,7 @@ class ClsDetController extends GetxController {
|
||||
late final EasyRefreshController refreshController = EasyRefreshController(controlFinishLoad: true);
|
||||
RxList wallpaperList = [].obs;
|
||||
late String clsName = "";
|
||||
late ScrollController scrollController;
|
||||
|
||||
/// 页码、每页数量
|
||||
int skip = 0;
|
||||
@ -20,6 +22,7 @@ class ClsDetController extends GetxController {
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
scrollController = ScrollController();
|
||||
clsName = Get.arguments ?? "";
|
||||
getImages();
|
||||
}
|
||||
|
||||
@ -29,28 +29,32 @@ class ClsDetView extends GetView<ClsDetController> {
|
||||
() => EasyRefresh(
|
||||
controller: controller.refreshController,
|
||||
onLoad: controller.onLoad,
|
||||
child: MasonryGridView.count(
|
||||
itemCount: controller.wallpaperList.length,
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 20.w,
|
||||
crossAxisSpacing: 20.w,
|
||||
padding: EdgeInsets.fromLTRB(
|
||||
16,
|
||||
32,
|
||||
16,
|
||||
MediaQuery.of(context).padding.bottom,
|
||||
).w,
|
||||
itemBuilder: (context, index) {
|
||||
ImageModel item = controller.wallpaperList[index];
|
||||
return GestureDetector(
|
||||
onTap: () => controller.onTapItem(index),
|
||||
child: ImageNetworkWidget(
|
||||
url: item.imageUrl,
|
||||
aspectRatio: item.width! / item.height!,
|
||||
radius: 14.r,
|
||||
),
|
||||
);
|
||||
},
|
||||
child: Scrollbar(
|
||||
controller: controller.scrollController,
|
||||
child: MasonryGridView.count(
|
||||
controller: controller.scrollController,
|
||||
itemCount: controller.wallpaperList.length,
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 20.w,
|
||||
crossAxisSpacing: 20.w,
|
||||
padding: EdgeInsets.fromLTRB(
|
||||
16,
|
||||
32,
|
||||
16,
|
||||
MediaQuery.of(context).padding.bottom,
|
||||
).w,
|
||||
itemBuilder: (context, index) {
|
||||
ImageModel item = controller.wallpaperList[index];
|
||||
return GestureDetector(
|
||||
onTap: () => controller.onTapItem(index),
|
||||
child: ImageNetworkWidget(
|
||||
url: item.imageUrl,
|
||||
aspectRatio: item.width! / item.height!,
|
||||
radius: 14.r,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@ -16,7 +16,7 @@ import 'package:wallpaperx/routes/app_pages.dart';
|
||||
|
||||
class DiscoverController extends GetxController {
|
||||
late final EasyRefreshController refreshController;
|
||||
late ScrollController scrollViewController;
|
||||
late ScrollController scrollController;
|
||||
|
||||
HomeController homeController = Get.find<HomeController>();
|
||||
|
||||
@ -34,7 +34,7 @@ class DiscoverController extends GetxController {
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
scrollViewController = ScrollController(initialScrollOffset: 0.0);
|
||||
scrollController = ScrollController();
|
||||
refreshController = EasyRefreshController(controlFinishLoad: true);
|
||||
getImages();
|
||||
}
|
||||
|
||||
@ -150,23 +150,27 @@ class DiscoverView extends GetView<DiscoverController> {
|
||||
onLoad: controller.onLoad,
|
||||
viewState: controller.viewState.value,
|
||||
height: discoverListHeight,
|
||||
child: MasonryGridView.count(
|
||||
itemCount: controller.images.length,
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 20.w,
|
||||
crossAxisSpacing: 20.w,
|
||||
padding: const EdgeInsets.fromLTRB(16, 0, 16, 0).w,
|
||||
itemBuilder: (context, index) {
|
||||
ImageModel item = controller.images[index];
|
||||
return GestureDetector(
|
||||
onTap: () => controller.onTapGridItem(index),
|
||||
child: ImageNetworkWidget(
|
||||
url: item.imageUrl,
|
||||
aspectRatio: item.width! / item.height!,
|
||||
radius: 10.r,
|
||||
),
|
||||
);
|
||||
},
|
||||
child: Scrollbar(
|
||||
controller: controller.scrollController,
|
||||
child: MasonryGridView.count(
|
||||
controller: controller.scrollController,
|
||||
itemCount: controller.images.length,
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 20.w,
|
||||
crossAxisSpacing: 20.w,
|
||||
padding: const EdgeInsets.fromLTRB(16, 0, 16, 0).w,
|
||||
itemBuilder: (context, index) {
|
||||
ImageModel item = controller.images[index];
|
||||
return GestureDetector(
|
||||
onTap: () => controller.onTapGridItem(index),
|
||||
child: ImageNetworkWidget(
|
||||
url: item.imageUrl,
|
||||
aspectRatio: item.width! / item.height!,
|
||||
radius: 10.r,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@ -14,7 +14,7 @@ import 'package:wallpaperx/routes/app_pages.dart';
|
||||
|
||||
class CSearchController extends GetxController {
|
||||
late final EasyRefreshController refreshController;
|
||||
late ScrollController scrollViewController;
|
||||
late ScrollController scrollController;
|
||||
RxList searchList = [].obs;
|
||||
RxInt total = 0.obs;
|
||||
|
||||
@ -44,7 +44,7 @@ class CSearchController extends GetxController {
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
scrollViewController = ScrollController(initialScrollOffset: 0.0);
|
||||
scrollController = ScrollController(initialScrollOffset: 0.0);
|
||||
refreshController = EasyRefreshController(controlFinishLoad: true);
|
||||
}
|
||||
|
||||
|
||||
@ -29,12 +29,11 @@ class SearchView extends GetView<CSearchController> {
|
||||
),
|
||||
_buildSearchInput(),
|
||||
if (controller.searchList.isNotEmpty) ...[
|
||||
24.verticalSpace,
|
||||
Text(
|
||||
"ALL ${controller.total}",
|
||||
style: TextStyle(color: Colors.white, fontSize: 20.sp),
|
||||
),
|
||||
24.verticalSpace,
|
||||
10.verticalSpace,
|
||||
_buildMasonryGridView(),
|
||||
] else ...[
|
||||
Expanded(child: Container()),
|
||||
@ -52,23 +51,27 @@ class SearchView extends GetView<CSearchController> {
|
||||
child: EasyRefresh(
|
||||
controller: controller.refreshController,
|
||||
onLoad: controller.onLoad,
|
||||
child: MasonryGridView.count(
|
||||
itemCount: controller.searchList.length,
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 20.w,
|
||||
crossAxisSpacing: 21.w,
|
||||
padding: EdgeInsets.zero,
|
||||
itemBuilder: (context, index) {
|
||||
ImageModel item = controller.searchList[index];
|
||||
return GestureDetector(
|
||||
onTap: () => controller.onTapItem(index),
|
||||
child: ImageNetworkWidget(
|
||||
url: item.imageUrl,
|
||||
aspectRatio: item.width! / item.height!,
|
||||
radius: 14.r,
|
||||
),
|
||||
);
|
||||
},
|
||||
child: Scrollbar(
|
||||
controller: controller.scrollController,
|
||||
child: MasonryGridView.count(
|
||||
controller: controller.scrollController,
|
||||
itemCount: controller.searchList.length,
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 20.w,
|
||||
crossAxisSpacing: 21.w,
|
||||
padding: EdgeInsets.zero,
|
||||
itemBuilder: (context, index) {
|
||||
ImageModel item = controller.searchList[index];
|
||||
return GestureDetector(
|
||||
onTap: () => controller.onTapItem(index),
|
||||
child: ImageNetworkWidget(
|
||||
url: item.imageUrl,
|
||||
aspectRatio: item.width! / item.height!,
|
||||
radius: 14.r,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@ -26,6 +26,15 @@ class SettingsView extends GetView<SettingsController> {
|
||||
children: [
|
||||
_buildUserinfo(),
|
||||
15.verticalSpace,
|
||||
Container(
|
||||
height: 1.w,
|
||||
width: double.infinity,
|
||||
margin: const EdgeInsets.symmetric(horizontal: 58).w,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white.withOpacity(.5),
|
||||
),
|
||||
),
|
||||
15.verticalSpace,
|
||||
_buildOptionItem(),
|
||||
// SizedBox(
|
||||
// height: 400.w,
|
||||
@ -101,13 +110,6 @@ class SettingsView extends GetView<SettingsController> {
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
20.verticalSpace,
|
||||
Container(
|
||||
height: 0.5.w,
|
||||
width: 260.w,
|
||||
decoration:
|
||||
BoxDecoration(color: Colors.white.withOpacity(.5)),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
|
||||
Loading…
Reference in New Issue
Block a user