Skip to content

Conversation

@TahaTesser
Copy link
Member

Fixes NavigationBar only allows labelTextStyle from NavigationBarTheme

Code sample

expand to view the code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    const TextStyle selectedTextStyle =
        TextStyle(fontSize: 15, color: Color(0xFF00FF00));
    const TextStyle unselectedTextStyle =
        TextStyle(fontSize: 15, color: Color(0xFF0000FF));
    const TextStyle disabledTextStyle =
        TextStyle(fontSize: 16, color: Color(0xFFFF0000));

    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
          navigationBarTheme: NavigationBarThemeData(
        labelTextStyle: WidgetStatePropertyAll(
          TextStyle(
            fontSize: 14,
            fontWeight: FontWeight.bold,
            color: Theme.of(context).colorScheme.primary,
          ),
        ),
      )),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('NavigationBar Sample'),
        ),
        body: Center(
          child: Padding(
            padding: const EdgeInsets.all(16.0),
            child: Text(
              "NavigationBar labels are customized using NavigationBar.labelTextStyle",
              style: Theme.of(context).textTheme.headlineSmall,
              textAlign: TextAlign.center,
            ),
          ),
        ),
        bottomNavigationBar: NavigationBar(
          labelTextStyle: const WidgetStateProperty<TextStyle?>.fromMap(
            <WidgetStatesConstraint, TextStyle?>{
              WidgetState.disabled: disabledTextStyle,
              WidgetState.selected: selectedTextStyle,
              WidgetState.any: unselectedTextStyle,
            },
          ),
          onDestinationSelected: null,
          destinations: const <Widget>[
            NavigationDestination(
              icon: Icon(Icons.home),
              label: 'Home',
            ),
            NavigationDestination(
              icon: Icon(Icons.favorite_rounded),
              label: 'Favorites',
            ),
            NavigationDestination(
              enabled: false,
              icon: Icon(Icons.settings),
              label: 'Settings',
            ),
          ],
        ),
      ),
    );
  }
}

Preview

Screenshot 2024-11-12 at 17 18 00

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. labels Nov 12, 2024
@TahaTesser TahaTesser marked this pull request as ready for review November 12, 2024 15:48
Copy link
Contributor

@bleroux bleroux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@TahaTesser
Copy link
Member Author

LGTM!

Thanks Bruno.

@TahaTesser TahaTesser added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 12, 2024
@auto-submit auto-submit bot merged commit 148be5f into flutter:master Nov 12, 2024
79 checks passed
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 12, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2024
@TahaTesser TahaTesser deleted the fix_navigation_bar_label_style branch November 12, 2024 17:06
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 13, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 13, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 13, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Nov 13, 2024
Roll Flutter from c8510f2 to ed553d1 (48 revisions)

flutter/flutter@c8510f2...ed553d1

2024-11-13 [email protected] Avoid using platform `ProcessInfo.maxRss` in test. (flutter/flutter#158526)
2024-11-13 [email protected] Roll Packages from 72356fd to 26e123a (19 revisions) (flutter/flutter#158626)
2024-11-13 [email protected] Move `dart pub deps` call to `<Pub>.deps` and use it accordingly (flutter/flutter#158524)
2024-11-13 [email protected] Roll Flutter Engine from 05c14d8b4cd7 to db3e5af2ca22 (1 revision) (flutter/flutter#158553)
2024-11-13 [email protected] Roll Flutter Engine from ef760d6e1f13 to 05c14d8b4cd7 (3 revisions) (flutter/flutter#158551)
2024-11-13 [email protected] Roll Flutter Engine from 08348c9eebcc to ef760d6e1f13 (1 revision) (flutter/flutter#158545)
2024-11-13 [email protected] Marks Mac_arm64_ios hot_mode_dev_cycle_ios__benchmark to be flaky (flutter/flutter#158242)
2024-11-13 [email protected] Roll Flutter Engine from 877abb9ad6ff to 08348c9eebcc (8 revisions) (flutter/flutter#158541)
2024-11-13 [email protected] Allow `devDependencies` to be omitted and not cause a tool crash. (flutter/flutter#158518)
2024-11-13 [email protected] Explain how to use `flutter channel`. (flutter/flutter#158533)
2024-11-13 [email protected] Clean up dependabot config, add github-action group (flutter/flutter#158408)
2024-11-12 [email protected] Update test to include more complete instructions for how to run tests locally, add example to andoid 11 tests as well (flutter/flutter#158528)
2024-11-12 [email protected] force Linux plugin_test to run on Ubuntu 20.04 (flutter/flutter#158529)
2024-11-12 [email protected] Support materialTapTargetSize in PopupMenuButton (flutter/flutter#158357)
2024-11-12 [email protected] [SwiftPM] Update .flutter-plugin-dependencies format (flutter/flutter#158138)
2024-11-12 [email protected] add filesystem error handling to `systemTempDirectory` (flutter/flutter#158481)
2024-11-12 [email protected] Made Cupertino dialog more like a native dialog in dark mode (flutter/flutter#157218)
2024-11-12 [email protected] Roll Flutter Engine from b0a4ca92c49e to 877abb9ad6ff (2 revisions) (flutter/flutter#158506)
2024-11-12 [email protected] Fix `NavigationBar` label style customization on the widget level (flutter/flutter#158510)
2024-11-12 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add test for `dynamic_content_color.0.dart` (#158309)" (flutter/flutter#158511)
2024-11-12 [email protected] Add test for `dynamic_content_color.0.dart` (flutter/flutter#158309)
2024-11-12 [email protected] Roll Flutter Engine from a672f971c659 to b0a4ca92c49e (2 revisions) (flutter/flutter#158488)
2024-11-12 [email protected] Roll Flutter Engine from 35041f118744 to a672f971c659 (1 revision) (flutter/flutter#158487)
2024-11-12 [email protected] Roll Flutter Engine from 7b3eacd20eb6 to 35041f118744 (9 revisions) (flutter/flutter#158485)
2024-11-11 [email protected] [SwiftPM] Simplify logic that determines if CocoaPods is used (flutter/flutter#158409)
2024-11-11 [email protected] Fix Chip draws `InkWell.hoverColor` is drawn on top of the provided background color with `hovered` state (flutter/flutter#158454)
2024-11-11 [email protected] Roll Flutter Engine from 3cb6f4de89b6 to 7b3eacd20eb6 (1 revision) (flutter/flutter#158464)
2024-11-11 [email protected] Roll Packages from bb5a258 to 72356fd (8 revisions) (flutter/flutter#158378)
2024-11-11 [email protected] Roll Flutter Engine from e9a44820f302 to 3cb6f4de89b6 (3 revisions) (flutter/flutter#158456)
2024-11-11 [email protected] Replace custom `RPCErrorCodes` with `RPCErrorKind` from `package:vm_service` (flutter/flutter#158379)
2024-11-11 [email protected] Roll Flutter Engine from d90e9f4718b8 to e9a44820f302 (1 revision) (flutter/flutter#158453)
2024-11-11 [email protected] Roll Flutter Engine from 01c76e42c20f to d90e9f4718b8 (1 revision) (flutter/flutter#158443)
2024-11-11 [email protected] Roll Flutter Engine from 9b4c3b3d5518 to 01c76e42c20f (3 revisions) (flutter/flutter#158438)
2024-11-11 [email protected] Remove block and line comments when detecting '.flutter-plugins' in settings.gradle(.kts) (flutter/flutter#155488)
2024-11-11 [email protected] Add `SafeArea` DartPad sample (flutter/flutter#158019)
2024-11-10 [email protected] Marks Linux analyzer_benchmark to be flaky (flutter/flutter#158244)
2024-11-10 [email protected] remove `bringup` status for recently re-subsharded targets (flutter/flutter#158217)
2024-11-09 [email protected] Roll Flutter Engine from 690cdfd09beb to 9b4c3b3d5518 (1 revision) (flutter/flutter#158418)
2024-11-09 [email protected] Marks Mac_benchmark complex_layout_scroll_perf_macos__timeline_summary to be flaky (flutter/flutter#158252)
2024-11-09 [email protected] Roll Flutter Engine from ca6f5110d9d3 to 690cdfd09beb (1 revision) (flutter/flutter#158414)
2024-11-09 [email protected] Roll Flutter Engine from 2f097cfd3d2d to ca6f5110d9d3 (3 revisions) (flutter/flutter#158411)
2024-11-09 [email protected] Roll Flutter Engine from 54df0b8a4784 to 2f097cfd3d2d (1 revision) (flutter/flutter#158407)
2024-11-08 [email protected] Roll Flutter Engine from b7134d373ef8 to 54df0b8a4784 (2 revisions) (flutter/flutter#158405)
2024-11-08 [email protected] Roll Flutter Engine from 6b77347edfc5 to b7134d373ef8 (3 revisions) (flutter/flutter#158402)
2024-11-08 [email protected] Roll Flutter Engine from 1b567e80386e to 6b77347edfc5 (4 revisions) (flutter/flutter#158398)
2024-11-08 [email protected] Roll Flutter Engine from a08bd5a07c2a to 1b567e80386e (1 revision) (flutter/flutter#158393)
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 6, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NavigationBar only allows labelTextStyle from NavigationBarTheme

2 participants