我想添加覆盖textview下方填充父宽度的uderline,以显示textview看起来像标题。
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:lines="1"
android:maxLines="2"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/black" />
提前致谢
答案 0 :(得分:11)
在textview下面使用此代码
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray" />
答案 1 :(得分:8)
你可以试试这个
<TextView
android:id="@+id/title"
style="@style/sectionHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:lines="1"
android:maxLines="2"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/black" />
在styles.xml中添加样式
<style name="sectionHeader" parent="android:Widget.Holo.Light.TextView">
<item name="android:drawableBottom">@drawable/section_header</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:layout_marginTop">8dp</item>
<item name="android:paddingLeft">4dp</item>
<item name="android:textAllCaps">true</item>
<item name="android:textColor">@color/emphasis</item>
<item name="android:textSize">14sp</item>
</style>
将一个可绘制的名称设为section_header.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="1000dp" android:height="0.5dp" />
<solid
android:color="@color/blue_grey"/>
</shape>
为color.xml添加颜色
<color name="blue_grey">#607d8b</color>
<color name="emphasis">#31b6e7</color>
答案 2 :(得分:5)
如果要以编程方式添加,请执行此操作
{{1}}
答案 3 :(得分:3)
如果要从Strings文件夹向Textview添加文本,可以指定如下。 从
的strings.xml
<string name="your_string_here"><u>This is an underline</u>.</string>
如果您在这种情况下动态添加文本,请使用以下内容。
在您的活动中: -
TextView textView = (TextView) view.findViewById(R.id.textview);
SpannableString spannableStringObject= new SpannableString("Your text here");
spannableStringObject.setSpan(new UnderlineSpan(), 0, spannableStringObject.length(), 0);
textView.setText(spannableStringObject);
答案 4 :(得分:2)
将视图放在下面的文本视图中:
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="# your hex color code />
答案 5 :(得分:2)
它适用于我。
tv.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);
答案 6 :(得分:1)
使用 ConstraintLayout 的示例。将视图限制为 TextView。将绘制一条具有 TextView 精确空间的线。
<androidx.constraintlayout.widget.ConstraintLayout
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<view
android:layout_width="0dp"
android:layout_height="1dp"
android:background="@color/color_black"
app:layout_constraintTop_toBottomOf="@id/tv_title"
app:layout_constraintStart_toStartOf="@id/tv_title"
app:layout_constraintEnd_toEndOf="@id/tv_title"/>
</androidx.constraintlayout.widget.ConstraintLayout>