Как использовать ящик в Flutter без Scaffold? - PullRequest
0 голосов
/ 02 мая 2018

Flutter имеет целый класс компонентов, встроенных в Material Design. Когда Scaffold облегчает жизнь многим разработчикам, у меня возникает странный случай, когда мне нужно тело за прозрачной панелью приложений.

Как отобразить тело под панелью приложений виджета скаффолдов, а не внизу?

Я переключился на использование стека для настройки панели приложений и другого содержимого в теле. Теперь я чувствую, что сложнее использовать большинство компонентов из библиотеки материалов. Большинство вещей становится сложнее, так как везде они связаны с компонентом Scaffold, и я им не пользуюсь.

Как мне реализовать ящик во Flutter без Scaffold?

1 Ответ

0 голосов
/ 02 мая 2018

Я собираюсь дать своего рода ответ здесь.

Определенно возможно использовать только ScaffoldController и MultiChildLayoutDelegate точно так же, как это делает Scaffold (что хорошо в flutter, это то, что все с открытым исходным кодом, так что вы можете читать и дублировать соответствующие части), но это не просто. Если вы действительно хотите это сделать, я бы посоветовал прочитать исходный код для Scaffold , пока не поймете, что происходит. Затем вы можете скопировать соответствующие части кода, пока он не заработает.

Есть более простой способ, который, я думаю, сработает для вас. Вместо этого я бы порекомендовал вам делать эшафот. Ничто не говорит о том, что вы должны использовать его AppBar - вы все равно можете хранить свою собственную реализацию внутри тела. Таким образом, вы получаете drawer, включая LTR RTL и все остальное, что делает Scaffold, без необходимости реализовывать и поддерживать все это.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...