Как установить радиус угла на основе размера на виджете с динамическим размером в Flutter - PullRequest
1 голос
/ 16 октября 2019

Как определить радиус угла виджета с помощью формулы radius = hight/2 для кнопки, размер которой изменяется после ее дочернего элемента?

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

Это то, что я получил. Я установил hight и maxWidth на ноль, чтобы обернуть размер текста, но я не могу найти способ измерить ширину при применении радиуса угла.

ButtonTheme(
  height: 0,
  minWidth: 0,
  shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(width/2)), //how can i calculate width?
  child: RaisedButton(
    onPressed: onPress,
    child: Text('Some String of variable length'),
  ),
);

Я искал в Интернете, но ничегоподходит.

1 Ответ

0 голосов
/ 16 октября 2019

Как уже упоминалось @pskink, вы можете использовать StadiumBorder :

Граница, которая соответствует рамке в форме стадиона (прямоугольник с полукругами на концах) внутри прямоугольникавиджет, к которому он применяется.

Вот пример, напишите несколько строк в TextField, чтобы увидеть результат:

Center(
  child: Container(
    decoration: ShapeDecoration(
      shape: StadiumBorder(
        side: BorderSide(width: 2.0),
      ),
    ),
    child: TextField(
      textAlign: TextAlign.center,
      minLines: 1,
      maxLines: 100,
    ),
  ),
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...