Andriy Antonov
Andriy Antonov

Reputation: 1510

How to add `overflow` to SelectableText in Flutter?

There is SelectableText widget that allows you to make text selectable. But it misses the overflow parameter, which is required...

Is there any workaround, which can make it work? Or a similar solution? Thanks!

Upvotes: 12

Views: 3929

Answers (4)

MarcoFerreira
MarcoFerreira

Reputation: 378

Also, remember that when you want the space to expand, you can also use Expanded or Flexible. Hope it helps.

Row(children: [
                  Text('Código de inscrição: '),
                  Expanded(
                    child: SelectableText(club.SignUpCode),
                  )
                ]),

Upvotes: 1

Abduboriy Jonmirzayev
Abduboriy Jonmirzayev

Reputation: 135

In my case above solutions didn't work. I found another solution using ListTile:

ListTile(
    title: SelectableText(
           text,
           toolbarOptions: const ToolbarOptions(
                  copy: true,
                  selectAll: true,
                  cut: true,
           ),
    ),
)

and it worked as overflow: TextOverflow.ellipsis for me

Upvotes: 0

Lalit Fauzdar
Lalit Fauzdar

Reputation: 6363

Just experienced this. The problem is overflow hasn't been made the top level parameter in case of SelectableText as with Text in Flutter which suggests that it must be there, just not as the top level parameter which is true as it is in TextStyle.

Hence, to use overflow in SelectableText, change

SelectableText(
  text,
  overflow: TextOverflow.ellipsis
)

to

SelectableText(
  text,
  style: TextStyle(
    overflow: TextOverflow.ellipsis,
  ),
)

Upvotes: 17

Andres Sosa Martinez
Andres Sosa Martinez

Reputation: 149

If the TextOverflow.clip effect is enough for you this did the trick for me:

SelectableText("My text"
              maxLines: 1,
              scrollPhysics: NeverScrollableScrollPhysics())
            

Upvotes: -1

Related Questions