Как установить левый и верхний Флаттер/дротик в расположенном виджете в пикселях или любых других единицах измерения?

#flutter #dart #flutter-positioned

Вопрос:

Как установить левую и верхнюю части Positioned виджета в пикселях или любых других единицах измерения в Flutter/Dart?

Я попытался поискать в документации, но безуспешно.

В какой единице измерения находятся левое и верхнее значения? Они в процентах или независимых пикселях или что-то в этом роде? Если нет, то какое устройство он использует?

Заранее спасибо!

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

1. это «логические пиксели», дополнительную информацию смотрите в разделе devicePixelRatio

Ответ №1:

Пример:

 Stack(
  alignment: Alignment.center,
  children: [
    Container(
       height: 200,
       width: 200,
       color: Colors.red,
    ),
    // postion will be based on up Container Widget
    // position top left
    const Positioned(
       left: 0,
       top: 0,
       child: CircleAvatar(
           backgroundColor: Colors.blue,
       ),
    ),
    // position bottom right
    const Positioned(
        bottom: 0,
        right: 0,
        child: CircleAvatar(
           backgroundColor: Colors.blue,
        ),
     ),
  ],
),
 

Если вы не дадите никакой позиции. Позиция будет основана на выравнивании стека.

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

1. О, большое спасибо за код! Есть ли какой-нибудь способ получить размер экрана? Я попытался использовать MediaQuery, но это не сработало. Я вернул приложение MaterialApp, но все еще не могу использовать контекст сборки.