android: singleLine TextView больше не используется в устаревшем?

Я столкнулся с проблемой android: ellipsize, которая не работает в TextView. Но чтобы работать на android хорошо: singleLine.

Я слышал, что android: singleLine «устарел», но это не написано в справочнике в Android Developer.

https://developer.android.com/reference/android/widget/TextView.html#attr_android:singleLine

android: singleLine больше нет в списке "Устарело"?

ДОБАВЛЕНО: Я сам решил эту проблему.

Как оказалось, android: scrollHorizontally = "true" атрибута TextView не отражается в файле xml.

Итак, я попытался использовать метод setHorizontallyScrolling, он сработал.

*xml:*
<TextView
  android:id="@+id/text"
  android:ellipsize="end"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
/>

*code:*
TextView textView = (TextView)findViewByID(R.id.text);
textView.setHorizontallyScrolling(true);

но я добавляю "android: inputType =" text "в xml, как показано ниже, это не работает. Будьте осторожны.

*xml:*
<TextView
  android:id="@+id/text"
  **android:inputType="text"**
  android:ellipsize="end"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
/>

person zaki    schedule 11.08.2011    source источник
comment
Извините ntc, я стер ваш ответ по ошибке. Я пробовал android: maxLines = 1, но не вышло. Я пробовал использовать android: maxLines = 1 и android: scrollHorizontally = true, и я также использую android: lines вместо android: maxLines, но не сработало.   -  person zaki    schedule 11.08.2011
comment
Возможный дубликат Атрибут xml singleLine устарел или отсутствует в Android?   -  person bummi    schedule 19.12.2016


Ответы (2)


Попробуйте также настроить ввод IME на короткий текст или что-то в этом роде. это может сработать. есть много проблем с elipsize, которые у меня тоже были, и которые не удалось решить. в моем случае он был связан в основном с editTexts и другими компонентами, убирающими фокус с представления. Для того, чтобы Elipsize работала, нужен фокус.

person DArkO    schedule 11.08.2011
comment
К сожалению, я не думаю, что вы это сделаете, если что-то отвлекает внимание. Между прочим, я все время предполагаю, что вы хотите добиться с его помощью эффекта выделения. Я помню, что были некоторые примеры, когда люди использовали анимацию для этого многоточия. - person DArkO; 12.08.2011
comment
Попробуйте эти две ссылки и посмотрите, куда они ведут: stackoverflow.com/questions/2160619 /, stackoverflow.com/questions/1827751/ - person DArkO; 12.08.2011
comment
спасибо DArkO. Я решил эту проблему. android: scrollHorizontally = true описанное в xml файле не отражается. Вместо этого я использую метод setHorizontallyScrolling, он сработал. благодарю вас! - person zaki; 12.08.2011

Я не уверен, что android: singleLine TextView больше не входит в список «Deprecated», потому что внутри устаревшего конструктора TextView есть комментарий относительно конфигурации singleLine ..

// Если установлено, тип ввода переопределяет то, что было установлено с использованием устаревшего флага singleLine.

singleLine =! isMultilineInputType (inputType);

Исходный код: около 1156 л из core / java / android / widget / TextView.java - platform / frameworks / base - Git в Google

Поскольку Google оставляет комментарий, в котором говорится, что флаг singleLine устарел (хотя он не написан на сайте разработчика), это может быть так.

person Shawn    schedule 27.05.2015