5

Chcę dodać linię graniczną, która pokrywa szerokość wypełnienia wypełnienia pod tekstem, aby pokazać, że tekst wygląda jak nagłówek.Jak podać linię pod widokiem tekstowym w Androidzie

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

góry dzięki

Odpowiedz

6

można spróbować tego

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

dodać styl do Państwa 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> 

zrobić jedną nazwę rozciągliwej jak 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> 

dodać kolor do swojej color.xml

<color name="blue_grey">#607d8b</color> 
    <color name="emphasis">#31b6e7</color> 
+0

Dzięki faktycznie mam zbyt wiele TextView. teraz tylko muszę dodać styl dla podziękowania za dużo –

+0

Twój koder powitalny –

7

użyć tego kodu poniżej TextView

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

'android: layout_width = "fill_parent"' –

+2

FILL_PARENT jest przestarzałe w poziomie API 8 i użytkowania MATCH_PARENT higherlevel API –

4

Jeśli chcesz dodać programowo następnie zrobić to

mTextView.setPaintFlags(mTextView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG); 
1
put view on below textview: 

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

Jeśli dodajesz tekst do folderu Textview z folderu Strings, możesz określić następująco: Od

strings.xml

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

Jeśli dodajesz tekst dynamicznie w takim przypadku należy stosować następujące.

W swojej działalności: -

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

Jego pracuje dla mnie.

tv.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);