如何在 XML 文件中为文本添加下划线?我在 中找不到选项textStyle
。
11 回答
如果您使用的是字符串资源 xml 文件(支持 HTML 标签),则可以使用<b> </b>
,<i> </i>
和<u> </u>
.
<resources>
<string name="your_string_here">
This is an <u>underline</u>.
</string>
</resources>
如果您想在代码中强调某些内容,请使用:
TextView tv = (TextView) view.findViewById(R.id.tv);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
tv.setText(content);
希望这可以帮助
用这个:
TextView txt = (TextView) findViewById(R.id.Textview1);
txt.setPaintFlags(txt.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
如果它不起作用,那么
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
因为“<”有时可能是关键字。
并用于显示
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(getString(R.string.your_string_here)));
首先,转到 String.xml 文件
您可以在此处添加任何 HTML 属性,如斜体、粗体或下划线。
<resources>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
我使用了下面的方法,它对我有用。下面是 Button 的示例,但我们也可以在 TextView 中使用。
Button btnClickMe = (Button) findViewById(R.id.btn_click_me);
btnClickMe.setPaintFlags(btnClickMe.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
您可以使用下面的标记,但请注意,如果您将 设置textAllCaps
为true
下划线效果将被删除。
<resource>
<string name="my_string_value">I am <u>underlined</u>.</string>
</resources>
笔记
将 textAllCaps 与包含标记的字符串 (login_change_settings) 一起使用;标记将被大写转换丢弃
textAllCaps 文本转换最终将调用 CharSequence 上的 toString,这具有删除任何标记(例如 . 此检查查找包含同时指定 textAllCaps=true 的标记的字符串的用法。
另一种方法是创建一个扩展 TextView 的自定义组件。这适用于需要多个带下划线的 TextView 的情况。
这是组件的代码:
package com.myapp.components;
import android.content.Context;
import android.support.v7.widget.AppCompatTextView;
import android.text.SpannableString;
import android.text.style.UnderlineSpan;
import android.util.AttributeSet;
public class LinkTextView extends AppCompatTextView {
public LinkTextView(Context context) {
this(context, null);
}
public LinkTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setText(CharSequence text, BufferType type) {
SpannableString content = new SpannableString(text);
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
super.setText(content, type);
}
}
以及如何在xml中使用它:
<com.myapp.components.LinkTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World!" />
完成 Bhavin 的回答。例如,添加下划线或重定向。
((TextView) findViewById(R.id.tv_cgu)).setText(Html.fromHtml(getString(R.string.upload_poi_CGU)));
<string name="upload_poi_CGU"><![CDATA[ J\'accepte les <a href="">conditions générales</a>]]></string>
你可以在这里知道兼容的标签:http: //commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html
有多种方法可以在 Android TextView 中实现带下划线的文本。
1.<u>This is my underlined text</u>
或
I just want to underline <u>this</u> word
2.您可以以编程方式执行相同的操作。
`textView.setPaintFlags(textView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);`
3.可以通过创建一个 SpannableString 然后将其设置为 TextView 文本属性来完成
SpannableString text = new SpannableString("Voglio sottolineare solo questa parola");
text.setSpan(new UnderlineSpan(), 25, 6, 0);
textView.setText(text);
如果要比较文本字符串或文本会动态更改,则可以在约束布局中创建一个视图,它将根据文本长度进行调整,如下所示
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txt_Previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="8dp"
android:gravity="center"
android:text="Last Month Rankings"
android:textColor="@color/colorBlue"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<View
android:layout_width="0dp"
android:layout_height="0.7dp"
android:background="@color/colorBlue"
app:layout_constraintEnd_toEndOf="@+id/txt_Previous"
app:layout_constraintStart_toStartOf="@+id/txt_Previous"
app:layout_constraintBottom_toBottomOf="@id/txt_Previous"/>
</android.support.constraint.ConstraintLayout>
创建字符串资源:
<string name="HEADER_DELTA"><b><u>DELTA</u></b></string>
并添加到您的 Textview
<TextView
android:id="@+id/txtDeltaText"
style="@style/Default_TextBox_Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:gravity="center_horizontal"
android:text="@string/HEADER_DELTA"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/txtActualMetric"
app:layout_constraintTop_toBottomOf="@+id/txtMetricName" />