При добавлении более 3 элементов в BottomNavigationBar
все элементы становятся белыми и не читаются на светло-сером фоне. Кроме того, активный элемент также белый, а не предоставленный fixedColor
. Минимальный пример кода можно найти здесь
Также смотрите следующие изображения:
Н/Д
[✓] Flutter (on Mac OS X 10.13.1 17B1003, locale nl-NL, channel alpha)
• Flutter at /Users/dirk/Developer/flutter/sdk
• Framework revision 8f65fec5f5 (5 days ago), 2017-12-12 09:50:14 -0800
• Engine revision edaecdc8b8
• Tools Dart version 1.25.0-dev.11.0
• Engine Dart version 2.0.0-edge.d8ae797298c3a6cf8dc9f4558707bd2672224d3e
[✓] Android toolchain - develop for Android devices (Android SDK 26.0.0)
• Android SDK at /Users/dirk/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-26, build-tools 26.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[-] iOS toolchain - develop for iOS devices (Xcode 9.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.2, Build version 9C40b
✗ libimobiledevice and ideviceinstaller are not installed. To install, run:
brew install --HEAD libimobiledevice
brew install ideviceinstaller
✗ ios-deploy not installed. To install:
brew install ios-deploy
• CocoaPods version 1.2.0
[✓] Android Studio (version 2.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[✓] IntelliJ IDEA Ultimate Edition (version 2017.3)
• Flutter plugin version 20.0.3
• Dart plugin version 173.3727.108
[✓] Connected devices
• iPhone X • 9500EA8E-1292-4223-BFFF-1B2134D5C47C • ios • iOS 11.2 (simulator)
/cc @xster
cc @HansMuller , я смутно помню, что видел более старую ошибку об этом, но я не могу ее найти
при использовании BottomNavigationBarType.fixed это нормально, но при использовании BottomNavigationBarType.shifting это неправильно
У меня тоже есть эта проблема. Кто-нибудь знает, как это исправить?
та же проблема для меня
Я добавил это в наш список вещей, на которые стоит обратить внимание в конце этого года. Мы были бы рады просмотреть исправления, если у кого-то есть возможность взглянуть на код и выяснить, что происходит, прежде чем мы доберемся до него.
Когда предоставляется более 3 элементов BottomNavigationBar, тип, если он не указан, изменяется на BottomNavigationBarType.shifting
на https://docs.flutter.io/flutter/material/BottomNavigationBar/BottomNavigationBar.html. Этот бит информации должен быть выделен в документе класса. Легко упустить из виду, где он находится (я проглядел).
Когда тип BottomNavigationBar равен BottomNavigationBarType.shifting
, текст и значки элементов отображаются белым цветом с помощью DefaultTextStyle и IconTheme. Предполагается, что их BottomNavigationBarItem.backgroundColor
будут указаны контрастным цветом. Это явно сбивает с толку.
Общая идея с нижними навигационными панелями типа shifting
заключается в том, что каждый элемент будет иметь другой цвет фона (который контрастирует с белым), поскольку этот цвет станет цветом всей навигационной панели при выборе элемента.
Документ для BottomNavigationBar и NavigationBarItem нуждается в улучшении.
@HansMuller Спасибо, сработало!
@HansMuller , слава!
Если вы не поняли, как это исправить:
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
Я единственный, кто думает, что он не должен автоматически менять поведение в зависимости от количества вкладок?
Мне не кажется интуитивным ожидать другого поведения.
спасибо 👍
Спасибо.
Что мне делать, если я не хочу, чтобы значки были белыми, но они должны иметь поведение смещения?
Почему бы просто не сделать тип по умолчанию .fixed?
Я знаю, что эта проблема была закрыта, но она все еще кажется ошибкой, хотя документация была хорошо обновлена.
Я бы предложил сделать фиксированным значение по умолчанию или исправить поведение BottomNavigationBarType.shifting с четырьмя элементами.
Я предоставил агрумент " backgroundColor" для каждого "BottomNavigationBarItem", и проблема решена.
Мне удалось решить проблему, введя свойство showUnselectedLabels: true в BottomNavigationBar.
вернуть новый BottomNavigationBar(
showUnselectedLabels: true,
items: <BottomNavigationBarItem>[...
что мы не хотим, чтобы поведение менялось, если у нас есть более трех элементов. Есть ли какая-нибудь работа для этого?
добавить showUnselec tedLabels:true в BottomNavigationBar
добавить backgroundColor: Colors.blue в BottomNavigationBarItem
Затем все показано
Я единственный, кто думает, что я не должен автоматически менять поведение в зависимости от количества вкладок?
Мне не кажется интуитивным ожидать другого поведения.
я думаю так же
Самый полезный комментарий
Если вы не поняли, как это исправить: