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

时间:2015-11-17 09:31:01

标签: android android-layout user-interface uitextview textview

我想添加覆盖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" />

提前致谢

7 个答案:

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