fix: 状态栏图标颜色错误

This commit is contained in:
orz12
2024-06-03 00:17:51 +08:00
parent d5a57b8ecc
commit 6c157027aa
2 changed files with 65 additions and 46 deletions

View File

@@ -4,6 +4,7 @@ import 'package:PiliPalaX/models/common/dynamics_type.dart';
import 'package:PiliPalaX/models/common/up_panel_position.dart'; import 'package:PiliPalaX/models/common/up_panel_position.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import 'package:PiliPalaX/utils/feed_back.dart'; import 'package:PiliPalaX/utils/feed_back.dart';
@@ -36,14 +37,14 @@ class _DynamicsPageState extends State<DynamicsPage>
_futureBuilderFutureUp = _dynamicsController.queryFollowUp(); _futureBuilderFutureUp = _dynamicsController.queryFollowUp();
// _dynamicsController.tabController = // _dynamicsController.tabController =
// TabController(vsync: this, length: DynamicsType.values.length); // TabController(vsync: this, length: DynamicsType.values.length);
// ..addListener(() { // ..addListener(() {
// if (!_dynamicsController.tabController.indexIsChanging) { // if (!_dynamicsController.tabController.indexIsChanging) {
// // if (!mounted) return; // // if (!mounted) return;
// // print('indexChanging: ${_dynamicsController.tabController.index}'); // // print('indexChanging: ${_dynamicsController.tabController.index}');
// _dynamicsController // _dynamicsController
// .onSelectType(_dynamicsController.tabController.index); // .onSelectType(_dynamicsController.tabController.index);
// } // }
// }); // });
_dynamicsController.userLogin.listen((status) { _dynamicsController.userLogin.listen((status) {
if (mounted) { if (mounted) {
setState(() { setState(() {
@@ -52,8 +53,8 @@ class _DynamicsPageState extends State<DynamicsPage>
} }
}); });
upPanelPosition = UpPanelPosition.values[setting.get( upPanelPosition = UpPanelPosition.values[setting.get(
SettingBoxKey.upPanelPosition, SettingBoxKey.upPanelPosition,
defaultValue: UpPanelPosition.leftFixed.code)]; defaultValue: UpPanelPosition.leftFixed.code)];
print('upPanelPosition: $upPanelPosition'); print('upPanelPosition: $upPanelPosition');
scrollController = _dynamicsController.scrollController; scrollController = _dynamicsController.scrollController;
} }
@@ -70,7 +71,9 @@ class _DynamicsPageState extends State<DynamicsPage>
padding: const EdgeInsets.symmetric(horizontal: 4), padding: const EdgeInsets.symmetric(horizontal: 4),
child: Container( child: Container(
//抽屉模式增加底色 //抽屉模式增加底色
color: upPanelPosition.code > 1? Theme.of(context).colorScheme.surface: Colors.transparent, color: upPanelPosition.code > 1
? Theme.of(context).colorScheme.surface
: Colors.transparent,
width: 56, width: 56,
child: FutureBuilder( child: FutureBuilder(
future: _futureBuilderFutureUp, future: _futureBuilderFutureUp,
@@ -82,8 +85,7 @@ class _DynamicsPageState extends State<DynamicsPage>
Map data = snapshot.data; Map data = snapshot.data;
if (data['status']) { if (data['status']) {
return Obx(() => UpPanel( return Obx(() => UpPanel(
_dynamicsController.upData.value, _dynamicsController.upData.value, scrollController));
scrollController));
} else { } else {
return const SizedBox(); return const SizedBox();
} }
@@ -97,6 +99,7 @@ class _DynamicsPageState extends State<DynamicsPage>
), ),
)); ));
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
print('upPanelPosition1: $upPanelPosition'); print('upPanelPosition1: $upPanelPosition');
@@ -107,51 +110,57 @@ class _DynamicsPageState extends State<DynamicsPage>
toolbarHeight: 50, toolbarHeight: 50,
elevation: 0, elevation: 0,
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
systemOverlayStyle: SystemUiOverlayStyle(
statusBarIconBrightness:
Theme.of(context).brightness == Brightness.light
? Brightness.dark
: Brightness.light,
),
title: SizedBox( title: SizedBox(
height: 50, height: 50,
child: TabBar( child: TabBar(
controller: _dynamicsController.tabController, controller: _dynamicsController.tabController,
isScrollable: true, isScrollable: true,
dividerColor: Colors.transparent, dividerColor: Colors.transparent,
dividerHeight: 0, dividerHeight: 0,
tabAlignment: TabAlignment.center, tabAlignment: TabAlignment.center,
indicatorColor: Theme.of(context).colorScheme.primary, indicatorColor: Theme.of(context).colorScheme.primary,
labelColor: Theme.of(context).colorScheme.primary, labelColor: Theme.of(context).colorScheme.primary,
unselectedLabelColor: Theme.of(context).colorScheme.onSurface, unselectedLabelColor: Theme.of(context).colorScheme.onSurface,
labelStyle: TextStyle( labelStyle: TextStyle(
fontSize: Theme.of(context).textTheme.labelMedium!.fontSize, fontSize: Theme.of(context).textTheme.labelMedium!.fontSize,
), ),
tabs: DynamicsType.values tabs: DynamicsType.values
.map((e) => Tab(text: e.labels)) .map((e) => Tab(text: e.labels))
.toList(), .toList(),
onTap: (index) { onTap: (index) {
print('index: $index'); print('index: $index');
feedBack(); feedBack();
tabsConfig[_dynamicsController.tabController.index]['ctr'].animateToTop(); tabsConfig[_dynamicsController.tabController.index]['ctr']
// _dynamicsController.tabController .animateToTop();
// _dynamicsController.tabController.index = index; // _dynamicsController.tabController
// _dynamicsController.onSelectType(index); // _dynamicsController.tabController.index = index;
// _ // _dynamicsController.onSelectType(index);
} // _
)), })),
), ),
drawer: upPanelPosition == UpPanelPosition.leftDrawer ? drawer: upPanelPosition == UpPanelPosition.leftDrawer
upPanelPart(): null, ? upPanelPart()
: null,
drawerEnableOpenDragGesture: true, drawerEnableOpenDragGesture: true,
endDrawer: upPanelPosition == UpPanelPosition.rightDrawer ? endDrawer: upPanelPosition == UpPanelPosition.rightDrawer
upPanelPart(): null, ? upPanelPart()
: null,
endDrawerEnableOpenDragGesture: true, endDrawerEnableOpenDragGesture: true,
body: Row(children: [ body: Row(children: [
if (upPanelPosition == UpPanelPosition.leftFixed) if (upPanelPosition == UpPanelPosition.leftFixed) upPanelPart(),
upPanelPart(),
Expanded( Expanded(
child: TabBarView( child: TabBarView(
physics: const AlwaysScrollableScrollPhysics(), physics: const AlwaysScrollableScrollPhysics(),
controller: _dynamicsController.tabController, controller: _dynamicsController.tabController,
children: _dynamicsController.tabsPageList, children: _dynamicsController.tabsPageList,
)), )),
if (upPanelPosition == UpPanelPosition.rightFixed) if (upPanelPosition == UpPanelPosition.rightFixed) upPanelPart(),
upPanelPart(),
])); ]));
} }
} }

View File

@@ -2,6 +2,7 @@ import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:PiliPalaX/common/widgets/network_img_layer.dart'; import 'package:PiliPalaX/common/widgets/network_img_layer.dart';
import 'package:PiliPalaX/models/user/fav_folder.dart'; import 'package:PiliPalaX/models/user/fav_folder.dart';
@@ -63,7 +64,16 @@ class _MediaPageState extends State<MediaPage>
Color primary = Theme.of(context).colorScheme.primary; Color primary = Theme.of(context).colorScheme.primary;
return Scaffold( return Scaffold(
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
appBar: AppBar(toolbarHeight: 30, backgroundColor: Colors.transparent), appBar: AppBar(
toolbarHeight: 30,
backgroundColor: Colors.transparent,
systemOverlayStyle: SystemUiOverlayStyle(
statusBarIconBrightness:
Theme.of(context).brightness == Brightness.light
? Brightness.dark
: Brightness.light,
),
),
body: SingleChildScrollView( body: SingleChildScrollView(
controller: mediaController.scrollController, controller: mediaController.scrollController,
child: Column( child: Column(