android - 如何在 Android TextView 中将字体样式设置为粗体、斜体和下划线?

标签 android textview text-styling

我想让 TextView 的内容变为粗体、斜体和下划线。我尝试了以下代码,它可以工作,但没有下划线。

<Textview android:textStyle="bold|italic" ..

我该怎么做?有什么快速的想法吗?

最佳答案

这应该使您的 TextView 同时粗体下划线斜体

strings.xml

<resources>
    <string name="register"><u><b><i>Copyright</i></b></u></string>
</resources>

要将此字符串设置为您的 TextView,请在您的 ma​​in.xml 中执行此操作

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:text="@string/register" />

或在JAVA中,

TextView textView = new TextView(this);
textView.setText(R.string.register);

有时,当您可能不得不使用动态文本时,上述方法将无济于事。所以在那种情况下SpannableString开始行动。

String tempString="Copyright";
TextView text=(TextView)findViewById(R.id.text);
SpannableString spanString = new SpannableString(tempString);
spanString.setSpan(new UnderlineSpan(), 0, spanString.length(), 0);
spanString.setSpan(new StyleSpan(Typeface.BOLD), 0, spanString.length(), 0);
spanString.setSpan(new StyleSpan(Typeface.ITALIC), 0, spanString.length(), 0);
text.setText(spanString);

输出

enter image description here

关于android - 如何在 Android TextView 中将字体样式设置为粗体、斜体和下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4623508/

相关文章:

Android Workmanager 与 Kotlin 协程

android - 在 Samsung Galaxy 手机上手机进入休眠模式后,WorkManager 被取消

java - 如何控制 TextView 何时将 String 发送到新行?

java - 在API 23之前定位时实现breakStrategy

java - 如何从 AccountManager.getAccounts() 获取与特定帐户关联的图标

java - 如何将 fragment 制作为应用程序启动 Activity

java - 如何以编程方式制作可绘制形状 (Android)

javascript - 如何使用Javascript为一个元素添加多个样式属性?

css - 如何在文本区域内将文本居中?

ios7 - 处理 UITextView 中 NSAttributedString 的 UIContentSizeCategoryDidChangeNotification