Fixed issue listviews in tabs

This commit is contained in:
Juan Gilsanz Polo 2022-10-09 16:44:58 +02:00
parent b0310c2714
commit 02d1b18321
3 changed files with 82 additions and 64 deletions

View file

@ -95,25 +95,31 @@ class _ClientsWidgetState extends State<ClientsWidget> with TickerProviderStateM
controller: scrollController,
headerSliverBuilder: ((context, innerBoxIsScrolled) {
return [
SliverAppBar(
title: Text(AppLocalizations.of(context)!.clients),
centerTitle: true,
pinned: true,
floating: true,
forceElevated: innerBoxIsScrolled,
bottom: TabBar(
controller: tabController,
tabs: [
Tab(
icon: const Icon(Icons.devices),
text: AppLocalizations.of(context)!.activeClients,
),
Tab(
icon: const Icon(Icons.add),
text: AppLocalizations.of(context)!.added,
),
]
)
SliverOverlapAbsorber(
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
sliver: SliverSafeArea(
top: false,
sliver: SliverAppBar(
title: Text(AppLocalizations.of(context)!.clients),
centerTitle: true,
pinned: true,
floating: true,
forceElevated: innerBoxIsScrolled,
bottom: TabBar(
controller: tabController,
tabs: [
Tab(
icon: const Icon(Icons.devices),
text: AppLocalizations.of(context)!.activeClients,
),
Tab(
icon: const Icon(Icons.add),
text: AppLocalizations.of(context)!.added,
),
]
)
),
),
)
];
}),

View file

@ -86,29 +86,35 @@ class _FiltersWidgetState extends State<FiltersWidget> with TickerProviderStateM
controller: scrollController,
headerSliverBuilder: ((context, innerBoxIsScrolled) {
return [
SliverAppBar(
title: Text(AppLocalizations.of(context)!.filters),
centerTitle: true,
pinned: true,
floating: true,
forceElevated: innerBoxIsScrolled,
bottom: TabBar(
controller: tabController,
tabs: [
Tab(
icon: const Icon(Icons.verified_user_rounded),
text: AppLocalizations.of(context)!.whitelists,
),
Tab(
icon: const Icon(Icons.gpp_bad_rounded),
text: AppLocalizations.of(context)!.blacklists,
),
Tab(
icon: const Icon(Icons.shield_rounded),
text: AppLocalizations.of(context)!.customRules,
),
]
)
SliverOverlapAbsorber(
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
sliver: SliverSafeArea(
top: false,
sliver: SliverAppBar(
title: Text(AppLocalizations.of(context)!.filters),
centerTitle: true,
pinned: true,
floating: true,
forceElevated: innerBoxIsScrolled,
bottom: TabBar(
controller: tabController,
tabs: [
Tab(
icon: const Icon(Icons.verified_user_rounded),
text: AppLocalizations.of(context)!.whitelists,
),
Tab(
icon: const Icon(Icons.gpp_bad_rounded),
text: AppLocalizations.of(context)!.blacklists,
),
Tab(
icon: const Icon(Icons.shield_rounded),
text: AppLocalizations.of(context)!.customRules,
),
]
)
),
),
)
];
}),

View file

@ -79,28 +79,34 @@ class _AccessSettingsWidgetState extends State<AccessSettingsWidget> with Ticker
controller: scrollController,
headerSliverBuilder: ((context, innerBoxIsScrolled) {
return [
SliverAppBar(
title: Text(AppLocalizations.of(context)!.accessSettings),
pinned: true,
floating: true,
forceElevated: innerBoxIsScrolled,
bottom: TabBar(
controller: tabController,
tabs: [
Tab(
icon: const Icon(Icons.check),
text: AppLocalizations.of(context)!.allowedClients,
),
Tab(
icon: const Icon(Icons.block),
text: AppLocalizations.of(context)!.disallowedClients,
),
Tab(
icon: const Icon(Icons.link_rounded),
text: AppLocalizations.of(context)!.disallowedDomains,
),
]
)
SliverOverlapAbsorber(
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
sliver: SliverSafeArea(
top: false,
sliver: SliverAppBar(
title: Text(AppLocalizations.of(context)!.accessSettings),
pinned: true,
floating: true,
forceElevated: innerBoxIsScrolled,
bottom: TabBar(
controller: tabController,
tabs: [
Tab(
icon: const Icon(Icons.check),
text: AppLocalizations.of(context)!.allowedClients,
),
Tab(
icon: const Icon(Icons.block),
text: AppLocalizations.of(context)!.disallowedClients,
),
Tab(
icon: const Icon(Icons.link_rounded),
text: AppLocalizations.of(context)!.disallowedDomains,
),
]
)
),
),
)
];
}),