#dart #flutter
#dart #flutter
Вопрос:
Ответ №1:
Вы могли бы использовать библиотеку drop_cap_text для получения такого поведения. Использование примерно такое:
DropCapText(
loremIpsumText,
dropCap: DropCap(
width: 100,
height: 100,
child: Image.network(
'https://www.codemate.com/wp-content/uploads/2017/09/flutter-logo.png')
),
),
Или вы могли бы попробовать это сами, смешав и сопоставив SizedBox с RichText, как это было сделано в библиотеке.
Ответ №2:
Очень просто, и вам не нужно использовать библиотеку.
// Replace IconSVG with image of you.
RichText(
text: TextSpan(
children: [
WidgetSpan(
child: IconSVG(
IconSVGPath.ic_suggest, 30, 30, null),
),
TextSpan(text: " Tùy chọn các nội dung dưới đây để thay đổi giao diện CV phù hợp với bản thân bạn.",
style: TextStyle(color: HexColor(
StringColors.color_orange_primary),
fontSize: 16,
fontWeight: FontWeight.w400,
fontFamily: NUNITO_SANS),
),
],
style: TextStyle(color: Colors.red,)
),
Комментарии:
1. Есть ли простой способ выровнять текст в правом верхнем углу, если для изображений, которые занимают больше места, есть более одной строки текста?
2. Есть ли какой-либо способ, чтобы изображение занимало 2 строки текста?
Ответ №3:
Для flutter есть новая библиотека float_column, которая поддерживает это:
С помощью кода, подобного этому:
FloatColumn(
children: [
const Floatable(float: FCFloat.start, child: DropCap('“T', size: 3)),
Floatable(
float: FCFloat.end,
clear: FCClear.start,
clearMinSpacing: 12,
maxWidthPercentage: 0.333,
padding: EdgeInsetsDirectional.only(start: 8),
child: Img(
assetName: _name('jeremy-bishop-EwKXn5CapA4-unsplash.jpg'),
title: 'Photo by Jeremy Bishop on Unsplash',
),
),
Floatable(
float: FCFloat.start,
clear: FCClear.start,
clearMinSpacing: 175,
maxWidthPercentage: 0.25,
padding: EdgeInsetsDirectional.only(end: 12),
child: Img(
assetName: _name('walt_whitman.jpg'),
title: 'Walt Whitman',
),
),
WrappableText(text: _text),
],
)
Вы можете увидеть полный пример кода здесь: basic_ltr.dart