如何在 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 开始,然后从那里开始。将背景颜色更改为您想要的颜色,将重力更改为水平居中。身高可以随便乱改。
我想添加覆盖文本视图下方填充 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 开始,然后从那里开始。将背景颜色更改为您想要的颜色,将重力更改为水平居中。身高可以随便乱改。