Трепещущие черные полосы в безопасной зонеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Трепещущие черные полосы в безопасной зоне

Сообщение Anonymous »

Я не могу избавиться от черных полос за пределами безопасной зоны на Android.
Вот как это выглядит:
Изображение

И вот мой код:

Код: Выделить всё

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

// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Test',
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
theme: lightTheme,
darkTheme: darkTheme,
themeMode: ThemeMode.light,
debugShowCheckedModeBanner: false,
home: Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
title: const Text('Test'),
),
body: const Center(
child: Text('Test'),
),
),
);
}
}
Очевидно, что мое приложение намного сложнее, но этот простой пример ясно демонстрирует проблему. Я сделал пейзажный снимок экрана, потому что на нем также выделяется еще одна черная полоса слева, где находится камера.
Мне бы хотелось, чтобы Flutter был достаточно умным, чтобы выходить за пределы безопасной области за пределы фона, но при этом сохранять весь контент в том виде, в каком он есть. Также существует вариант с нижними панелями навигации (панели вкладок в iOS), они должны расширять свой фон за пределы безопасной области, но сохранять все содержимое выше.
Как ни странно, верхняя часть приложения в портретной ориентации правильно выходит за пределы безопасной области камеры, но не нижняя или горизонтальная влево и вправо… 🤷
Я видел такие решения, как изменение цвета панели с помощью чего-то вроде SystemChrome.setSystemUIOverlayStyle, но я не думаю, что это хорошее решение (скорее хак, если честно), потому что этот цвет должен меняться в зависимости от содержимого экрана, а установка там статического цвета приводит к гораздо большему количеству работы по его обновлению. Плюс представьте, если бы я захотел сделать градиент в качестве цвета фона, это совсем не помогло бы. Поэтому я действительно ищу окончательное решение на основе макета.
Как мне обновить этот код, чтобы получить правильный вид?

Подробнее здесь: https://stackoverflow.com/questions/785 ... -safe-area
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»