我们如何以编程方式在textView中为文本的下划线设置颜色

时间:2016-06-13 06:49:02

标签: android android-studio

我是Android新手。我创建了一个表并在其中设置了textView。我想为textView中输入的文本添加下划线。我通过以下代码创建了下划线:

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

其中region是包含文本的字符串。

有人能告诉我如何根据我们对下划线的选择设置颜色吗?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,没有直接的办法。您可以在下面查看我的解决方案:

修改布局中的文本视图,如下所示:

<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 :(得分:-1)

要为perticuler字符串赋予颜色,您可以使用Spannable

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