2016-06-13 2 views
1

Я новичок в Android. Я создал таблицу и установил внутри нее textView. Я хотел бы подчеркнуть текст, который я вводил в textView. Я создал подчеркивание с помощью следующего кода:Как установить цвет подчеркивания для текста в textView программно

SpannableString content=new SpannableString(Regions) content.setSpan(new UnderlineSpan(),0,Regions.length(),0);

, где область является строка, содержащая текст.

Может ли кто-нибудь сказать мне, как мы можем установить цвет, основанный на нашем выборе подчеркивания?

+0

точно так же вы можете использовать Spannable –

+0

она решается ????? –

+0

Нет .. это не работает в моем коде .. Я нашел альтернативный способ сделать проект, не используя подчеркивание в textview, чтобы сэкономить время. –

ответ

1

Я столкнулся с той же проблемой, нет прямого способа сделать это. Вы можете проверить мое решение ниже:

Изменить вид текста, как показано ниже в макете:

<TextView 
      android:id="@+id/residential_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:button="@null" 
      android:background="@drawable/only_one_bottom_line" 
      android:layout_margin="12dp" 
      android:paddingBottom="4dp" 
      android:text="test string" 
      android:textColor="@drawable/re_option_highlight" 
      android:textSize="11sp" /> 

only_one_bottom_line.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@android:color/transparent" /> 
     </shape> 
    </item> 
    <item android:top="-4dp" android:right="-4dp" android:left="-4dp"> 
     <shape> 
      <solid android:color="@android:color/transparent"/> 
      <stroke 
       android:width="3dp" 
       android:color="#0093dd" > 
      </stroke> 
     </shape> 
    </item> 
</layer-list> 

На этом фоне имеют только одну нижнюю линию, и вы может изменить цвет с # 00 93dd на любой желаемый цвет. Это решение проще реализовать, чем создание пользовательского текстового представления и внесение в него многочисленных изменений.

-1

Для придания цвета в perticuler строку, которую вы можете использовать Spannable

String s="your text"; 
    SpannableString ss= new SpannableString(s);     
    ss.setSpan(new ForegroundColorSpan(Color.GREEN), 0, 5, 0); 
    tv.setText(ss); 
+0

Это не работает. –

+0

что именно ваше требование –

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