Вы когда-нибудь сталкивались со сценарием, в котором вы хотели, чтобы пользователь изменил размер виджета, но не знали, как это сделать? Ну, я был в похожей ситуации некоторое время назад, и я решил собрать пакет в качестве решения.
auto_size_widget
позволяет пользователю изменять размер любого виджета Flutter. Это особенно полезно для текстовых полей, если пользователь хочет расширить поле или увеличить изображение для лучшей видимости, и многое другое.
Ниже приведены атрибуты пакета:
— showIcon
:(логическое значение) auto_size_widget
по умолчанию имеет значок изменения размера, если вы не хотите, чтобы он отображался в виджете, установите значение false, однако по умолчанию это значение true.
— initialWidth
: начальная ширина виджета, размер которой впоследствии можно изменить.
Установите то же значение, что и maxWidth
, чтобы сохранить постоянную ширину виджета.
— initialHeight
:начальная высота виджета, размер которой впоследствии можно изменить.
Установите то же значение, что и maxHeight
, чтобы сохранить постоянную высоту виджета.
— maxWidth
: максимальное значение, которое может быть достигнуто при изменении размера. Если то же, что и initialWidth
, пользователь не может изменить ширину виджета.
— maxHeight
: максимальное значение, которое может быть достигнуто при изменении размера. Если то же, что и initialHeight
, пользователь не может изменить высоту виджета.
— child
: виджет, размер которого будет изменен.
— borderColor
: необязательный параметр, задающий цвет границы AutoSizeWidget
— boxDecoration
:необязательный параметр, задающий оформление для блока AutoSizeWidget
.
Некоторые из распространенных виджетов, с которыми можно использовать auto_size_widget:
- Автоматический размер изображения:
Этот виджет может изменять размер дочернего виджета (изображения). Здесь я установил равные значения для maxWidth
и maxHeight
. И разные равные значения для initialWidth
и initialHeight
.
Это изменяет размеры как высоты, так и ширины виджета.
2. Автоматический размер текстового поля (постоянная высота):
Здесь TextField обернут AutoSizeWidget
, ширина TextField
может быть изменена со значения 180 до 300. Однако высота остается постоянной и не изменяется во время изменения размера.
3. Автоматический размер текста (постоянная ширина):
Здесь виджет Text
обернут AutoSizeWidget
. Высота виджета Text
может быть изменена от 120 до 280. Здесь width
остается постоянным и не меняется при изменении размера.
AutoSizeWidget
поставляется с boxDecoration
по умолчанию, который действует как руководство, когда пользователь изменяет размер виджета.
Вы можете пропустить это поле, передав собственное значение параметра boxDecoration
или установив borderColor
как Colors.transparent
. Однако рекомендуется оставить значение по умолчанию, так как оно служит определенной цели.
Вот как будет выглядеть виджет после удаления рамки и когда showIcon
будет true
:
Вы можете обернуть AutoSizeWidget
любой виджет Flutter, размер которого впоследствии может быть изменен пользователем. Этот пакет может быть полезен, особенно при создании веб-приложения.
Это все на данный момент. Не стесняйтесь оставлять любые предложения в комментариях и делиться ими, если вы нашли это полезным!
Следите за сообществом Flutter в Твиттере: https://www.twitter.com/FlutterComm