如何在Android布局xml文件中定义带下划线的文本?
当前回答
如果您使用的是字符串资源xml文件,该文件支持HTML标记,如<b></b>、<i></i>和<u></u>,则可以实现这一点。
<resources>
<string name="your_string_here"><![CDATA[This is an <u>underline</u>.]]></string>
</resources>
如果您想在代码中添加下划线,请使用:
TextView textView = (TextView) view.findViewById(R.id.textview);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
textView.setText(content);
其他回答
罗曼·盖伊(Romain Guy)用GitHub上的可用源代码描述了最新的画下划线文本的方法。此示例应用程序公开了两种可能的实现:
需要API级别19的基于路径的实现需要API级别1的基于区域的实现
转到strings.xml资源文件必要时,在资源文件中添加带有HTML下划线标记的字符串。
strings.xml HTML下划线示例
按如下方式调用Java代码中的字符串资源ID:
sampleTextView.setText(R.string.sample_string);
输出应带有下划线的单词“Stacksoverflow”。
此外,以下代码不会打印下划线:
String sampleString = getString(R.string.sample_string);
sampleTextView.setText(sampleString);
相反,使用以下代码保留RTF格式:
CharSequence sampleString = getText(R.string.sample_string);
sampleTextView.setText(sampleString);
“您可以使用getString(int)或getText(int)来检索字符串。getText(int)保留应用于字符串的任何富文本样式。”Android文档。
请参阅文档:https://developer.android.com/guide/topics/resources/string-resource.html
我希望这有帮助。
如果要在XML中实现这一点,请在resource中声明字符串,并将该资源值放入HTML的下划线标记(<u></u>)中。在TextView中,添加
android:text="@string/your_text_reference"
在字符串资源值中,
<string name="your_text_reference"><u>Underline me</u></string>
如果您想以编程方式实现这一点,请使用Kotlin
textView.paintFlags = textView.paintFlags or Paint.UNDERLINE_TEXT_FLAG
or,
textView.text = Html.fromHtml("<p><u>Underline me</u></p>")
我在使用自定义字体时遇到了一个问题,使用资源文件技巧(<u>下划线文本</u>)创建的下划线确实有效,但Android成功地将下划线转换成了一种罢工槽。
我用这个答案在文本视图下面画了一个边框:https://stackoverflow.com/a/10732993/664449.显然,这对于部分下划线文本或多行文本不起作用。
尝试此代码
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)));
祝你好运
推荐文章
- 我如何在网站上使用谷歌的Roboto字体?
- 改变开关的“开”色
- 以编程方式将EditText的输入类型从PASSWORD更改为NORMAL,反之亦然
- 如何在隐藏和查看密码之间切换
- 在Android上调整一个大的位图文件到缩放输出文件
- 如何更改Android版本和代码版本号?
- Android Studio突然无法解析符号
- 应用程序重新启动而不是恢复
- 如何设置整个应用程序在纵向模式?
- Android中文本的阴影效果?
- 以编程方式设置TextView的布局权重
- Android -如何覆盖“后退”按钮,所以它不完成()我的活动?
- 如何从通知点击发送参数到一个活动?
- 如何确定浏览器渲染文本时实际使用的字体?
- 导航目标xxx对于这个NavController是未知的