增加全局置灰功能
This commit is contained in:
parent
998f61dea7
commit
a7d4f1d256
|
@ -8,10 +8,13 @@ class ConfigService extends GetxService {
|
|||
static ConfigService get to => Get.find();
|
||||
|
||||
bool isFirstOpen = false;
|
||||
RxBool isGrayFilter = false.obs;
|
||||
PackageInfo? _platform;
|
||||
|
||||
String get version => _platform?.version ?? "-";
|
||||
|
||||
bool get isRelease => bool.fromEnvironment("dart.vm.product");
|
||||
|
||||
Locale locale = Locale("en", "US");
|
||||
|
||||
List<Locale> languages = [
|
||||
|
@ -25,6 +28,10 @@ class ConfigService extends GetxService {
|
|||
isFirstOpen = StorageService.to.getBool(StorageDeviceFirstOpenKey);
|
||||
}
|
||||
|
||||
void changeGrayTheme() {
|
||||
isGrayFilter.value = !isGrayFilter.value;
|
||||
}
|
||||
|
||||
Future<void> getPlatform() async {
|
||||
_platform = await PackageInfo.fromPlatform();
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import 'package:news_getx/utils/loading.dart';
|
|||
class Global {
|
||||
/// 初始化
|
||||
static Future init() async {
|
||||
// 运行初始
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:news_getx/data/services/config.dart';
|
||||
import 'package:news_getx/global.dart';
|
||||
import 'package:news_getx/routes/app_pages.dart';
|
||||
import 'package:news_getx/theme/app_theme.dart';
|
||||
|
@ -23,6 +24,15 @@ class MyApp extends StatelessWidget {
|
|||
// 如果不把这歌参数设为true 那么column就不会随着软键盘而变化
|
||||
// useInheritedMediaQuery: true,
|
||||
builder: (BuildContext context, Widget? child) {
|
||||
var app = GetMaterialApp(
|
||||
title: 'News',
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: AppTheme.light,
|
||||
initialRoute: AppRoutes.Initial,
|
||||
getPages: AppPages.pages,
|
||||
builder: EasyLoading.init(),
|
||||
);
|
||||
|
||||
return RefreshConfiguration(
|
||||
headerBuilder: () => ClassicHeader(),
|
||||
footerBuilder: () => ClassicFooter(),
|
||||
|
@ -30,14 +40,12 @@ class MyApp extends StatelessWidget {
|
|||
headerTriggerDistance: 80,
|
||||
maxOverScrollExtent: 100,
|
||||
footerTriggerDistance: 150,
|
||||
child: GetMaterialApp(
|
||||
title: 'News',
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: AppTheme.light,
|
||||
initialRoute: AppRoutes.Initial,
|
||||
getPages: AppPages.pages,
|
||||
builder: EasyLoading.init(),
|
||||
),
|
||||
child: Obx(() {
|
||||
return ConfigService.to.isGrayFilter.isTrue ? ColorFiltered(
|
||||
colorFilter: ColorFilter.mode(Colors.white, BlendMode.color),
|
||||
child: app,
|
||||
) : app;
|
||||
}),
|
||||
);
|
||||
},
|
||||
);
|
||||
|
|
|
@ -47,6 +47,7 @@ class _NewsPageListState extends State<NewsPageList>
|
|||
],
|
||||
),
|
||||
);
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:news_getx/data/services/config.dart';
|
||||
import 'package:news_getx/modules/main/main_controller.dart';
|
||||
import 'package:news_getx/modules/widgets/image.dart';
|
||||
import 'package:news_getx/theme/app_colors.dart';
|
||||
|
@ -9,7 +10,6 @@ import 'package:news_getx/utils/date.dart';
|
|||
class NewsRecommendWidget extends GetView<MainController> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
print('推荐信息:${controller.state.newsRecommend?.thumbnail}');
|
||||
return Obx(
|
||||
() => controller.state.newsRecommend == null
|
||||
? Container()
|
||||
|
|
Loading…
Reference in New Issue