Android虚线下划线位于textview中间

时间:2017-06-05 10:42:09

标签: android xml

我想在textview下方显示虚线下划线,以下是我的代码

<TextView
  android:id="@+id/contact_num"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:paddingTop="4dp"
  android:text="1234567890"
  android:background="@drawable/dashed_line"
  android:layerType="software"
  android:textSize="20dp" />

dashed_line.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">

    <stroke
        android:color="@color/oceanBlue"
        android:dashWidth="2dp"
        android:dashGap="3dp"
        android:width="1dp"/>
</shape>

,textview如上所示     textview looks like this

任何人都可以帮我把下面的虚线放到textview上吗?

尝试使用drawableBottom但没有使用

android:drawableBottom="@drawable/dashed_line"

5 个答案:

答案 0 :(得分:6)

将此文件用于虚线:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:left="-5dp"
        android:right="-5dp"
        android:top="-5dp">
        <shape
            android:shape="rectangle">

            <stroke
              android:color="@color/oceanBlue"
              android:dashWidth="2dp"
              android:dashGap="3dp"
              android:width="1dp"/>
        </shape>
    </item>

</layer-list>

然后添加

  

<强>机器人:背景= “@绘制/ dashed_line”

答案 1 :(得分:2)

你也可以这样使用(在线下)

    TextView contacttv = (TextView) findViewById(R.id.contactTextView);

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

答案 2 :(得分:1)

你可以使用这样的东西。

TextView tv = (TextView) findViewById(R.id.mytext);
tv.setText("This is strike-thru");
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);

答案 3 :(得分:1)

<TextView ..... 
    ..........
>
<ImageView
    android:layout_width="match_parent"
    android:layout_height="5dp"
    android:layerType="software"
    android:src="@drawable/dotted_line" />

<强> dotted_line.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
    <stroke
        android:width="1dp"
        android:color="@color/colorAccent"
        android:dashGap="15px"
        android:dashWidth="15dp" />
</shape>

答案 4 :(得分:1)

使用以下代码在textview下面添加虚线: dash.xml(drawable xml)     

<item
    android:left="-5dp"
    android:right="-5dp"
    android:top="-5dp">
    <shape
        android:shape="rectangle">

        <solid android:color="#ffffff" />

        <stroke
            android:width="1dp"
            android:dashGap="5dp"
            android:dashWidth="5dp"
            android:color="@android:color/black" />
    </shape>
</item>
</layer-list>

并在你的textview xml:

 <TextView
    android:id="@+id/segment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/dash"
    android:gravity="left"
    android:text="First segment"
    android:textSize="12sp"
    android:layout_centerInParent="true"/>