#flutter #dart
#flutter #dart
Вопрос:
Я пытаюсь перенести текст, который используется в Stack
виджете.
Это то, что у меня есть до сих пор. Если я оберну Text
с помощью a Container
и оберну это в Expanded
виджет, он переносится, но больше не применяет позицию и выбрасывает Incorrect use of ParentDataWidget
. Есть предложения? `
Stack(
alignment: Alignment.center,
children: [
ShaderMask(
shaderCallback: (rect) {
return LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [Colors.black, Colors.transparent],
).createShader(
Rect.fromLTRB(0, 0, rect.width, rect.height));
},
blendMode: BlendMode.dstIn,
child: Image.network(
'https://placeimg.com/640/480/any',
height: 330,
fit: BoxFit.fill,
),
),
Positioned(
bottom: 5.0,
child: Expanded(
child: Container(
alignment: Alignment.center,
child: Text(
widget.content.title.toUpperCase(),
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.bold,
),
textAlign: TextAlign.center,
),
),
),
),
],
),
Ответ №1:
Использование расширенного виджета создает дочерний элемент строки, столбца или гибкого … (из документа https://api.flutter.dev/flutter/widgets/Expanded-class.html ).
Возможно, это не работает со стеком. Попробуйте поместить его под столбцом. Или перенос в контейнеры в том же столбце и использование пробела между ними.
Комментарии:
1. Мне это нужно в стеке. Заголовок должен быть над изображением, прямо там, где эффект градиента.
2. Затем попробуйте перенести развернутый текст в столбец