This commit is contained in:
bluesea 2024-05-13 09:36:57 +08:00
parent 3983d553a9
commit 4a8288c907
10 changed files with 78 additions and 70 deletions

View File

@ -5,7 +5,7 @@ import 'collectionpage_controller.dart';
class CollectionPageBinding extends Bindings { class CollectionPageBinding extends Bindings {
@override @override
void dependencies() { void dependencies() {
Get.lazyPut(() => CollectionPageController()); Get.put(CollectionPageController());
} }
} }

View File

@ -5,7 +5,7 @@ import 'downloadpage_controller.dart';
class DownloadPageBinding extends Bindings { class DownloadPageBinding extends Bindings {
@override @override
void dependencies() { void dependencies() {
Get.lazyPut(() => DownloadPageController()); Get.put( DownloadPageController());
} }
} }

View File

@ -5,7 +5,8 @@ import 'homepage_controller.dart';
class HomePageBinding extends Bindings { class HomePageBinding extends Bindings {
@override @override
void dependencies() { void dependencies() {
Get.lazyPut(() => HomePageController()); // Get.lazyPut(() => HomePageController());
Get.put(HomePageController());
} }
} }

View File

@ -1,5 +1,25 @@
import 'package:get/get.dart'; import 'package:get/get.dart';
import "package:wallpaper/utils/assettool.dart";
class HomePageController extends GetxController { class HomePageController extends GetxController {
var typeList = [].obs;
@override
void onReady() async{
super.onReady();
setupTypeListData();
}
void setupTypeListData() async{
var temData = await loadWallpaperJsonFromAsset();
temData.forEach((element) { })
}
@override
void onInit() async {
super.onInit();
}
} }

View File

@ -4,48 +4,50 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:transparent_image/transparent_image.dart'; import 'package:transparent_image/transparent_image.dart';
import 'package:wallpaper/pages/homepage/homepage_controller.dart';
class HomePageView extends GetView { class HomePageView extends GetView <HomePageController> {
const HomePageView({super.key}); const HomePageView({super.key});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// Get.put(HomePageController);
const title = "壁纸"; const title = "壁纸";
final SizedBox headerView = getHeaderWidget(context); // final SizedBox headerView = getHeaderWidget(context);
final GridView bodyView = getBodyWidget(); final Widget bodyView = getBodyWidget();
return MaterialApp( // Obx(() => {
title: title, // print(controller.typeList);
home: Scaffold( // return Text("data");}
appBar: AppBar( // );
title: const Text(title), print("build......hompage");
), return Scaffold(
body: Row( appBar: AppBar(
children: [ title: const Text(title),
headerView, ),
// bodyView, // body: Row(
], // children: [
), // headerView,
), // // bodyView,
// ],
body:bodyView,
); );
} }
// //
GridView getBodyWidget(){ Widget getBodyWidget(){
return GridView.count( return Obx(() => GridView.count(
// Create a grid with 2 columns. If you change the scrollDirection to
// horizontal, this produces 2 rows.
crossAxisCount: 2, crossAxisCount: 2,
// Generate 100 widgets that display their index in the List. children: List.generate(controller.typeList.length, (index) {
children: List.generate(100, (index) {
return Center( return Center(
child: FadeInImage.memoryNetwork( child: FadeInImage.memoryNetwork(
placeholder: kTransparentImage, placeholder: kTransparentImage,
image: 'https://picsum.photos/250?image=9', image: controller.typeList[index]["data"][0]["previewThumb"],
), ),
); );
}), }),
); ));
} }
// //
@ -75,14 +77,31 @@ class HomePageView extends GetView {
width: cw, width: cw,
color: Colors.yellow, color: Colors.yellow,
), ),
Container( getCustomContrainer("cuainer"),
width: cw,
color: Colors.orange,
),
], ],
), ),
); );
} }
//customcontainer
Container getCustomContrainer(String title) {
return Container(
alignment: Alignment.center,
// decoration: BoxDecoration( //
// border: Border.all(color: Colors.black12, width: 0.5),
// borderRadius: BorderRadius.all(Radius.circular(5.0))),
color:Colors.red,
padding: EdgeInsets.all(5.0),
// margin: EdgeInsets.fromLTRB(3.0, 0.0, 3.0, 0.0),
child: ConstrainedBox(
constraints: BoxConstraints(maxWidth: 100.0,),
child: Text(
title,
softWrap: true,
),
));
}
} }

View File

@ -5,7 +5,7 @@ import 'mypage_controller.dart';
class MyPageBinding extends Bindings { class MyPageBinding extends Bindings {
@override @override
void dependencies() { void dependencies() {
Get.lazyPut(() => MyPageController()); Get.put(() => MyPageController());
} }
} }

View File

@ -7,9 +7,7 @@ class MyPageView extends GetView {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
const title = '我的'; const title = '我的';
return MaterialApp( return Scaffold(
title: title,
home: Scaffold(
appBar: AppBar( appBar: AppBar(
title: const Text(title), title: const Text(title),
), ),
@ -29,7 +27,7 @@ class MyPageView extends GetView {
), ),
], ],
), ),
), );
);
} }
} }

View File

@ -1,9 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:flutter/widgets.dart';
import 'package:wallpaper/pages/homePage/homePage_view.dart'; import 'package:wallpaper/pages/homePage/homePage_view.dart';
import 'package:wallpaper/pages/downloadpage/downloadpage_view.dart';
import 'package:wallpaper/pages/collectionpage/collectionpage_view.dart'; import 'package:wallpaper/pages/collectionpage/collectionpage_view.dart';
import 'package:wallpaper/pages/mypage/mypage_view.dart'; import 'package:wallpaper/pages/mypage/mypage_view.dart';
@ -41,10 +39,6 @@ class TabbarPageView extends GetView <TabbarPageController>{
icon: Icon(Icons.collections), icon: Icon(Icons.collections),
label: "收藏" label: "收藏"
), ),
// const BottomNavigationBarItem(
// icon: Icon(Icons.download),
// label: "下载"
// ),
const BottomNavigationBarItem( const BottomNavigationBarItem(
icon: Icon(Icons.person), icon: Icon(Icons.person),
label: "我的" label: "我的"

View File

@ -24,31 +24,7 @@ class AppRoutes {
GetPage( GetPage(
name: initialPage, name: initialPage,
page: ()=> const TabbarPageView(), page: ()=> const TabbarPageView(),
binding: TabbarPageBinding(), bindings: [TabbarPageBinding(), HomePageBinding(),DownloadPageBinding(),MyPageBinding()],
participatesInRootNavigator: true,
),
GetPage(
name: '/home',
page: ()=> const HomePageView(),
binding: HomePageBinding(),
participatesInRootNavigator: true,
),
GetPage(
name: '/downlaod',
page: ()=> const DownloadPageView(),
binding: DownloadPageBinding(),
participatesInRootNavigator: true,
),
GetPage(
name: '/collection',
page: ()=> const CollectionPageView(),
binding: CollectionPageBinding(),
participatesInRootNavigator: true,
),
GetPage(
name: '/my',
page: ()=> const MyPageView(),
binding: MyPageBinding(),
participatesInRootNavigator: true, participatesInRootNavigator: true,
), ),
]; ];

View File

@ -1,6 +1,6 @@
import 'package:flutter/services.dart' show rootBundle; import 'package:flutter/services.dart' show rootBundle;
import 'dart:convert'; import 'dart:convert';
Future<Map<String, dynamic>> loadWallpaperJsonFromAsset() async { Future<List> loadWallpaperJsonFromAsset() async {
String jsonStr = await rootBundle.loadString('assets/wallpaper.json'); String jsonStr = await rootBundle.loadString('assets/wallpaper.json');
return jsonDecode(jsonStr); return jsonDecode(jsonStr);
} }