Эффективная загрузка изображений во время выполнения - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь добавить функцию кости в свое приложение Flutter.В Java я бы сгенерировал случайное число из 20, а затем поднял соответствующее изображение на основе результата.Например, при броске 14 появится изображение dice_image_14.jpg.

Я не уверен, как это сделать во Flutter, из-за того, как работают методы сборки.

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

@override
build(Buildcontext context) {
  Stack (
    diceRoll == 1 ?
      Container(
        BoxDecoration(
          image: ('lib/images/dice_image_1.jpg),
        ),
      ) : diecroll == 2?
      Container(
        BoxDecoration(
          image: ('lib/images/dice_image_2.jpg),
        ),
      ) : diecroll == 3?  // etc etc etc.   20 times!!
  );
}

Существует ли более реалистичное решение для загрузки определенных изображений в контейнер по требованию после выполнения?

1 Ответ

0 голосов
/ 21 февраля 2019

Просто интерполируйте ваши diceRoll с вашим путем актива:

BoxDecoration(
          image: ('lib/images/dice_image_$diceRoll.jpg)
     )

С Dart Docs

$ variableName (или $ {выражение})

Строковая интерполяция: включая переменную или строковый эквивалент выражения внутри строкового литерала.

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