如何在Android布局xml文件中定义带下划线的文本?
当前回答
HtmlCompat.fromHtml(
String.format(context.getString(R.string.set_target_with_underline)),
HtmlCompat.FROM_HTML_MODE_LEGACY)
<string name="set_target_with_underline"><u>Set Target<u> </string>
注意xml文件中的Escape符号
其他回答
Strings.xml文件内容:
<resource>
<string name="my_text">This is an <u>underline</u>.</string>
</resources>
布局xml文件应使用具有textview以下财产的上述字符串资源,如下所示:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/my_text"
android:selectAllOnFocus="false"
android:linksClickable="false"
android:autoLink="all"
/>
尝试此代码
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)));
祝你好运
上面的“接受”答案不起作用(当您尝试使用textView.setText(Html.fromHtml(string.format(getString(…),…)))这样的字符串时)。
如文档中所述,您必须用<;,例如,结果应如下所示:
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
然后在代码中,您可以使用以下选项设置文本:
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(String.format(getString(R.string.my_string), ...)));
要在Kotlin做到这一点:
你的TextView.praint?。isUnderlineText=真
我在使用自定义字体时遇到了一个问题,使用资源文件技巧(<u>下划线文本</u>)创建的下划线确实有效,但Android成功地将下划线转换成了一种罢工槽。
我用这个答案在文本视图下面画了一个边框:https://stackoverflow.com/a/10732993/664449.显然,这对于部分下划线文本或多行文本不起作用。
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件