Я хочу преобразовать код ниже в Купертино, стиль IOS. Но я не могу использовать Меню Ящика для стиля IOS. Почему? Как я могу использовать? - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу сделать стиль android и IOS.

Я хочу преобразовать приведенный ниже код в стиль Купертино IOS.

Но я не могу использовать Меню Ящика для стиля IOS. Почему? Как я могу использовать?

return Scaffold(
    key: _scaffoldKey,
    drawer: Drawer(),
    appBar: AppBar(
      leading: IconButton(
        onPressed: () {
          Navigator.pop(context);
        },
        icon: Icon(
          Icons.arrow_back_ios,
          color: MyColors.blue,
        ),
      ),
      centerTitle: true,
      title: Text('Test', style: MyTextStyles.appBarTitle(deviceType) ),
      actions: <Widget>[
        Builder(
          builder: (BuildContext context) => PlatformIconButton(
            onPressed: () {
              Scaffold.of(context).openDrawer();
            },
            icon: Icon(
              Icons.menu,
            )))])
    body: .........

1 Ответ

0 голосов
/ 24 февраля 2020

Виджет Drawer является виджетом, эксклюзивным для материала, и вы не можете использовать его напрямую в iOS.

Вы можете создать свой собственный вид "Drawer-like" для iOS, скопировав конструкцию сборки виджета Drawer, но я бы не рекомендовал этого, потому что у ящиков этого нет iOS "смотреть и чувствовать". Как сам пользователь iOS, я знаю, что в некоторых очень влиятельных приложениях, таких как Twitter, есть что-то, похожее на Drawer, но я думаю, что нативное приложение iOS не справится с такой навигацией.

Вместо этого вы можете использовать виджет Drawer для Android и нижнюю панель вкладок для iOS, которая является более распространенным компонентом в приложениях в стиле iOS , Вы можете использовать класс Platform, чтобы проверить, выполняется ли ваш код на Android или iOS, и выбрать правильный виджет на основе этого.

Вот один из примеров такой логики сборки c, что вы можете найти полезным. Мне очень жаль, что я не могу вставить код напрямую, у меня был этот скриншот из презентации, которую я сделал, и я не помню, где я разместил код для этого проекта, но я надеюсь, что вы найдете его полезным. enter image description here

...