Трепещущая изогнутая панель навигации — рисуется за пределами экрана

#flutter #uinavigationbar #flutter-layout #flutter-animation #animatedcontainer

#флаттер #панель навигации uinavigationbar #флаттер-макет #флаттер-анимация #animatedcontainer

Вопрос:

Я использую curved_navigation_bar : этот

У меня есть animatedContainer, который уменьшается до 1/4 своего размера, и у него изогнутая панель навигации, когда контейнер сжимается, панель навигации немного выходит за пределы контейнера, мне нужен способ остановить это.

прилагается: скриншот проблемы, вы можете видеть в синем круге дополнительный рисунок, который он делает, и который мне нужно остановить.

введите описание изображения здесь

Я искал решение в Интернете и даже пытался изучить исходный код, но безуспешно

Комментарии:

1. используйте ClipRect luke

2. что вы имеете в виду? использовать его за пределами curvednavigationbar?

3. в документах говорится: «Виджет, который обрезает свой дочерний элемент с помощью прямоугольника. По умолчанию clipRect запрещает своему дочернему элементу рисовать за пределами своих границ, но размер и расположение прямоугольника клипа можно настроить с помощью пользовательского клипера.»

4. это будет работать с анимацией AnimatedContainer?

5. хорошо, тогда напишите самостоятельный ответ…

Ответ №1:

Решение, предоставленное @pskink

использование clipRRect (или clipReck ) и размещение внутри него всего дочернего элемента AnimatedContainer отлично решит эту проблему!