Я сталкиваюсь с проблемой на iOS, где CupertinoNavigationBar (предоставленной PlatformAppbar ) остается прозрачным или частично прозрачным до просмотра пользователя. Как только начинается прокрутка, указанный цвет фона появляется, как и ожидалось. [*] Настройка полностью непрозрачной фоны Color непосредственно в Cupertino: (_, __) => CupertinoNavigationBardata (...) .
[*] Использование переходных перевозок: ложные .
[*] Удаление дополнительных виджетов и обеспечения не совпадающего контента.
[*] Подтверждение, что я не использую большой Название cupertinoslivernavigationbar .
[*] Отключение ExtendBodyBehindAppbar .
[*] Тестирование минимального фрагмента кода с просто платформой + platformappbar .
Несмотря на все эти шаги, полоса все еще выглядит прозрачной на начальном кадре до прокрутки пользователя.
скриншоты < /h3>
Здесь вы можете увидеть, что навигационная панель выглядит прозрачной сначала и после прокрутки, она становится полностью окрашенной. < /p>
перед прокруткой < /p>
после прокрутки < /p>
шагов для воспроизведения < /h3>
< li> Создайте проект Flutter с flutter_platform_widgets (версия 7.0.1 ).
[*] Используйте следующий минимальный код в качестве домашней страницы: < /li>
< /ol>
Код: Выделить всё
import 'package:flutter/material.dart';
import 'package:flutter_platform_widgets/flutter_platform_widgets.dart';
class TestPage extends StatelessWidget {
const TestPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return PlatformScaffold(
appBar: PlatformAppBar(
cupertino: (_, __) => CupertinoNavigationBarData(
backgroundColor: Colors.blueGrey,
transitionBetweenRoutes: false,
title: const Text('iOS Title'),
),
),
body: ListView(
children: List.generate(
30,
(index) => SizedBox(
height: 50,
child: Center(
child: Text('Item $index'),
),
),
),
),
);
}
}
версия Flutter : 3.27.3
версия DART : (вывод DART -Version )
[*] flutter_platform_widgets версия : 7.0.1
[*] Target Platform : iOS (протестировано на симуляторе iOS и/или реальном устройстве)
< li> версия устройства /симулятора < /strong>: iPhone 14, ios 16 (например) < /li>
< /ul>
Ожидаемое поведение < /h3>
Навигационная полоса должна появиться с указанным цветом фона немедленно, когда страница загружается - безупречно и без какого -либо полупрозрачного эффекта. < /P>
< Br /> Фактическое поведение < /h3>
На iOS навигационная панель выглядит прозрачной (за ним можно увидеть элементы списка), пока пользователь не начнет прокручивать. Как только начинается прокрутка, цвет фона Navbar становится полностью непрозрачным.
Подробнее здесь: https://stackoverflow.com/questions/794 ... -backgroun
Мобильная версия