2012-05-01 2 views
2

Я использую ViewPagerIndicator http://viewpagerindicator.com/ViewPagerIndicator Вкладки - контроль над текстом стайлинга

Тема задает стиль, который используется (я могу изменить цвет текста в стиле и увидеть его влияние на закладке текст)

<style name="TabText" parent="Widget.TabPageIndicator.Text"> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textSize">14sp</item> 
    <item name="android:ellipsize">end</item> 
</style> 

Я хочу контролировать, как обрабатываются имена вкладок. Я хочу попробовать с помощью wrap_content (т. Е. Изменить размер табуляции, чтобы обернуть ширину текста), и я также хочу попробовать с использованием эллипсинга на длинном тексте (т. Е. Вкладки имеют одинаковую ширину, но если заголовок слишком длинный, он эллипсирует).

enter image description here

ellipsizing работает на старых устройств (например, Nexus One)

enter image description here

Но ICS ellipsizing не работает, а название просто обрезает

Как Я управляю шириной & эллипсинг текста табуляции в VPI?

(по соответствующей заметке Я нахожу длинный текст по умолчанию обертки в VPI, поэтому я заменяю пробелы пробелами неразрывными пробелами, чтобы остановить это, поскольку singleLine = true в стиле заставляет VPI бросать исключение литья)

+0

«как singleLine = true в стиле заставляет VPI бросать исключение литья» - «TextView» - это «TextView», независимо от того, является ли он одной строкой или нет. Что генерируется ClassCastException? – CommonsWare

+0

Я не могу воспроизвести его, но это было исключение ClassCastException изнутри VPI –

ответ

8

Решение представляется простым, чтобы добавить singleLine=true" к стилю. Кажется, усечение не было усечением, а фактически обертыванием.

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

Смежные вопросы