如何在 android 中的 Textview 下方添加一行

how to give a line below the Textview in android

我想添加覆盖文本视图下方填充 parent 宽度的下划线,以显示文本视图看起来像标题。

        <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" />

提前致谢

在文本视图下方使用此代码

<View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/darker_gray" />

你可以试试这个

       <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>

如果您想以编程方式添加,请执行此操作

mTextView.setPaintFlags(mTextView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);

将视图放在下面的文本视图上:

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="# your hex color code  />

如果您要从 Strings 文件夹向 Textview 添加文本,您可以按如下方式指定。 来自

strings.xml

<string name="your_string_here"><u>This is an underline</u>.</string>

如果您在这种情况下动态添加文本,请使用以下内容。

在你的Activity中:-

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);

它适合我。

tv.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);

使用 ConstraintLayout 的示例。将视图约束到 TextView。将绘制一条与 TextView 完全相同的 space 线。

<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>

在宽度上插入一个分隔线,从大约 200dp 开始,然后从那里开始。将背景颜色更改为您想要的颜色,将重力更改为水平居中。身高可以随便乱改。