2013-08-16 3 views
1

У меня есть приложение, которое добавляет небольшой рисунок рядом с заголовком вкладки в панели действий, используя пользовательское представление и устанавливая ImageSpan в текст, см. Ниже.Некоторые стили отключить ImageSpan в TextView

private void NotifyTab (int state) 
    { 
     Console.WriteLine("Notifying tab " + state); 

     var tab = SupportActionBar.GetTabAt(state).CustomView as TextView; 
     String title; 

     if (ARTIST == state) 
     { 
      title = GetString(Resource.String.menu_artists); 
     } 
     else 
     { 
      title = GetString(Resource.String.menu_friends); 
     } 

     SpannableString text = new SpannableString(" " + title); 
     ImageSpan icon = new ImageSpan(this, Resource.Drawable.ico_indicator, SpanAlign.Baseline); 
     text.SetSpan(icon, 0, 1, SpanTypes.InclusiveInclusive); 

     tab.SetText(text, TextView.BufferType.Spannable); 
    } 

Этот код работает отлично, пока я применил тот же стиль на вкладке, как вкладки ActionBar использовать Widget.Sherlock.ActionBar.TabText как только я этого ImageSpan перестал работать.

Кто-нибудь знает, какой атрибут вызывает это, и если есть обходной путь? Мне интересно, вызвано ли это принудительным использованием всех кепок или шрифтом с засечками.

ответ

0

решаемые, оказывается

<item name="android:textAllCaps">true</item> 

ли виновный, когда сняли ImageSpan показывает вверх. Простым обходным путем является использование строковых ресурсов и устранение проблемы.

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