如何在Android布局xml文件中定义带下划线的文本?


当前回答

我在使用自定义字体时遇到了一个问题,使用资源文件技巧(<u>下划线文本</u>)创建的下划线确实有效,但Android成功地将下划线转换成了一种罢工槽。

我用这个答案在文本视图下面画了一个边框:https://stackoverflow.com/a/10732993/664449.显然,这对于部分下划线文本或多行文本不起作用。

其他回答

     <com.google.android.material.textfield.TextInputEditText
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:backgroundTint="@android:color/transparent"
                    android:hint="@string/search_url"
                    android:textColor="@color/coffee_color"
                    android:textColorHint="@color/coffee_color"
                    />

只需使用字符串资源文件中的属性,例如。

<string name="example"><u>Example</u></string>

尝试此代码

XML格式

<resource>
 <string name="my_text"><![CDATA[This is an <u>underline</u>]]></string> 
</resources> 

在代码中

TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(getString(R.string.my_text)));

祝你好运

一个简单灵活的xml解决方案:

<View
  android:layout_width="match_parent"
  android:layout_height="3sp"
  android:layout_alignLeft="@+id/your_text_view_need_underline"
  android:layout_alignRight="@+id/your_text_view_need_underline"
  android:layout_below="@+id/your_text_view_need_underline"
  android:background="@color/your_color" />

现在回答这个问题已经很晚了,但是假设如果任何人想要动态获取文本,那么他们可以在java代码中使用这一行简单的代码,这行代码可以工作:

 textView.setText(Html.fromHtml("<p><u>" + get_name + "</u></p>"));