How to add `overflow` to SelectableText in Flutter?

3k views Asked by At

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!

4

There are 4 answers

0
Lalit Fauzdar On BEST ANSWER

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,
  ),
)
0
Andres Sosa Martinez On

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

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

0
Abduboriy Jonmirzayev On

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

0
MarcoFerreira On

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),
                  )
                ]),