Как я могу справиться с переполнением текста в DropdownMenuEntry?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как я могу справиться с переполнением текста в DropdownMenuEntry?

Сообщение Anonymous »


У меня есть приложение Flutter, которое использует DropdownMenu. Некоторые из DropdownMenuItems имеют довольно длинную метку. Я хотел бы иметь возможность обрезать метки, используя что-то вроде многоточия, или чтобы метка исчезала.

Пример кода приложения, воспроизводящего это:

import 'package:flutter/material.dart'; пустая функция() { runApp(const MyApp()); } класс MyApp расширяет StatelessWidget { const MyApp({super.key}); Список записей () { записи var = []; записей.add(const DropdownMenuEntry(value: "foo", label: "Это очень длинное сообщение, выходящее за пределы раскрывающегося меню"); возврат записей; } @переопределить Сборка виджета (контекст BuildContext) { вернуть MaterialApp( дома: SafeArea( ребенок: Эшафод( тело: DropdownMenu( ширина: 200, dropdownMenuEntries: записи() ) ) ) ); } } Это приводит к исключению, которое выглядит следующим образом:

======== Исключение, пойманное библиотекой рендеринга ============================= ====================== Во время компоновки было выдано следующее утверждение: RenderFlex переполнился на 67 пикселей справа.
Изображение


============================================ ===============

Что я пробовал:

Использование DropdownMenu.menuStyle:

Выпадающее меню( MenuStyle: const MenuStyle(maximumSize: MaterialStatePropertyAll(Size(200,200))), ширина: 200, dropdownMenuEntries: записи() ) Использование DropdownMenuEntry.style:

DropdownMenuEntry( значение: "фу", label: "Это очень долго и выходит за пределы раскрывающегося меню", стиль: ButtonStyle( Максимальный размер: MaterialStatePropertyAll (Размер (200 200)), textStyle: MaterialStatePropertyAll (TextStyle (переполнение: TextOverflow.ellipsis)) ) ) Несмотря на то, что я попробовал другие варианты, мне не удалось устранить исключение переполнения.

Я обнаружил проблему на GitHub, которая, по-видимому, связана с: https://github.com/flutter/flutter/issues/126882

Но и здесь я не нашел никаких работоспособных решений.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»