如何在 XML 文件中给文本加下划线? 我在 textStyle中找不到选项。
textStyle
如果使用的是字符串资源 xml 文件(支持 HTML 标记) ,可以使用 <b> </b>、 <i> </i>和 <u> </u>完成。
<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);
希望这个能帮上忙
<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)));
用这个:
TextView txt = (TextView) findViewById(R.id.Textview1); txt.setPaintFlags(txt.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
首先,转到 String.xml 文件
您可以在这里添加任何 HTML 属性,如斜体、粗体或下划线。
<resources> <string name="your_string_here">This is an <u>underline</u>.</string> </resources>
来完成巴温的回答。 例如,添加下划线或重定向。
((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
我使用下面的方法,它为我工作。下面是 Button 的例子,但我们也可以在 TextView 中使用。
Button btnClickMe = (Button) findViewById(R.id.btn_click_me); btnClickMe.setPaintFlags(btnClickMe.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
您可以使用下面的标记,但是请注意,如果将 textAllCaps设置为 true,下划线效果将被删除。
textAllCaps
true
<resource> <string name="my_string_value">I am <u>underlined</u>.</string> </resources>
注意
使用 textAllCaps 和包含标记的字符串(login _ change _ sets) ; 通过大写转换将删除标记
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!" />
在 Android TextView 中有不同的方法来实现带下划线的文本。
1. <u>This is my underlined text</u> 或者
<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);`
可以通过创建一个 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 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" />