Android: что-то лучше, чем android: ellipsize = «end» для добавления «…» к усеченным длинным строкам?

Это свойство делает

«короткими и очень длинными словами»

до

«короткими и»

. Но я хочу что-л. вроде

«короткий и очень длинный ...»

Прямо сейчас я усекаю строку в коде Java. Однако это зависит от количества символов, а не от фактической длины ссылки. Так что результат не очень хороший.

String title;
    if(model.getOrganization().length() > 19) {
      title = model.getText().substring(0, 15).trim() + "…";
    } else {
      title = model.getText();
    }
    ((TextView) findViewById(R.id.TextViewTitle)).setText(title);

Обновление

Только что заметили, это свойство фактически добавляет "..." в некоторых случаях. Но не во всех:

12345678901234567890 становится «12345678901234 ...»

Однако,

«1234567890 1234567890» становится "1234567890", а не «1234567890 123 ...»

Обновление 2

Теперь это действительно здорово! Я просто установил singleLine = true и удалил maxLine (ошибка появляется с атрибутом ellipsize и без него) ...

alt text

Это снимок экрана с Motorola Milestone с обновлением android 2.1 1. То же самое происходит с HTC Desire с той же версией Android.

Обновление 3

Теперь я использую android: ellipsize = "marquee". Кажется, это единственная правильно работающая настройка. Он также только движется, когда сосредоточен. Я также вижу это во многих других приложениях. Думаю, это обычная практика.

43
задан Community 23 May 2017 в 12:09
поделиться