I have tried all that I know to get the text to softwrap. I have looked at other people's codes and solutions. Nothing seems to work. Is there something I am missing?
I have tried wrapping it in an Expanded()
and a Row()
widget, but these only make the whole text disappear. I have tried Containers()
with varying sizes, Padding()
Wrap()
. I just need help, please.
Widget build(BuildContext context) {
return GestureDetector(
onTap: onPostTapped,
child: Row(
children: [
userProfilePicture == null
? Image.asset(
'assets/images/UserImage.png',
height: 40,
width: 40,
fit: BoxFit.cover,
)
: Image.network(userProfilePicture!),
const SizedBox(width: 8),
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
Text(
'New follower',
style: LabelText.normal(
size: 14,
color: AppColors.dark1,
height: 1.2,
fontWeight: FontWeight.w500),
),
SizedBox(width: 10),
Container(
height: 8,
width: 8,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24),
color: AppColors.info),
),
],
),
Text(
time != null ? time.toString() : '08:23',
style: LabelText.Small(
size: 12,
color: AppColors.dark2,
height: 0,
fontWeight: FontWeight.w400,
letterSpacing: 0.06),
),
],
),
// This widget does not soft wrap.
Text(
userName == null
? 'Shola Aremu just started following you. Say hi!'
: '$userName just started following you. Say hi!',
softWrap: true,
style: TextStyles.bodySmall(
color: AppColors.dark1,
size: 14,
fontWeight: FontWeight.w400,
height: 0),
),
// This widget above does not softwrap.
],
),
],
),
);
This bit of code above is called here. Where NewFollowerNotification()
is the name of the class being called.
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.only(top: 16, left: 25, right: 25),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
Padding(
padding: const EdgeInsets.only(right: 4.0),
child: Text(
'Notifications',
style: TextStyles.heading5(
color: AppColors.dark2,
size: 20,
height: 0,
fontWeight: FontWeight.w500),
),
),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24),
color: AppColors.info),
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 8, vertical: 4),
child: Text(
'8',
style: LabelText.extraSmall(
color: Colors.white,
size: 10,
fontWeight: FontWeight.w500,
letterSpacing: 0.05,
height: 0),
),
),
)
],
),
Text(
'Clear all',
style: TextStyles.bodySmall(
color: AppColors.mainColor,
fontWeight: FontWeight.w400,
size: 14,
height: 0),
),
],
),
Padding(
padding: EdgeInsets.only(top: 24, bottom: 16),
child: Text(
'Today',
style: TextStyles.heading6(
size: 16,
height: 0,
color: AppColors.dark2,
fontWeight: FontWeight.w500),
),
),
// The class is called here
NewFollowerNotification(),
// The class is called here
],
),
);
I want the Text widget to softwrap. It overflows instead. I expect the part beyond the screen to come down beneath the rendered text (softwrap).
Since you are getting vertical overflow, wrap the Column with Expanded to give maximum available width.
Widget build(BuildContext context) {
return GestureDetector(
onTap: onPostTapped,
child: Row(
children: [
userProfilePicture == null
? Image.asset(
'assets/images/UserImage.png',
height: 40,
width: 40,
fit: BoxFit.cover,
)
: Image.network(userProfilePicture!),
const SizedBox(width: 8),
Expanded( // wrap this Column with Expanded
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
Text(
'New follower',
style: LabelText.normal(
size: 14,
color: AppColors.dark1,
height: 1.2,
fontWeight: FontWeight.w500),
),
SizedBox(width: 10),
Container(
height: 8,
width: 8,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24),
color: AppColors.info),
),
],
),
Text(
time != null ? time.toString() : '08:23',
style: LabelText.Small(
size: 12,
color: AppColors.dark2,
height: 0,
fontWeight: FontWeight.w400,
letterSpacing: 0.06),
),
],
),
// This widget does not soft wrap.
Text(
userName == null
? 'Shola Aremu just started following you. Say hi!'
: '$userName just started following you. Say hi!',
softWrap: true,
style: TextStyles.bodySmall(
color: AppColors.dark1,
size: 14,
fontWeight: FontWeight.w400,
height: 0),
),
// This widget above does not softwrap.
],
),
),
],
),
);