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