TextView下划线的添加,控制下划线和文字的距离

来源:互联网 发布:大数据教学视频 编辑:程序博客网 时间:2024/06/14 10:16

TextView下划线的添加,控制下划线和文字的距离

下面是效果图:

图片:这里写图片描述

因为在思考这个效果的时候花了一点时间,所以记录了这个过程:

  1. 首先实现上面效果我们首先会想到是什么?

    没错就是TextView的自带的下划线的属性:

    holder.tvCount.setPaintFlags(Paint. UNDERLINE_TEXT_FLAG);holder.tvCount.getPaint().setAntiAlias(true);//这里要加抗锯齿

    不过这个实现的是下划线贴在文字的下面,效果不是很好,一般设计师大人也不会这么设计。

  2. 然后我想到在下面添加一个横线不就好了,不过多番尝试后发现下划线无法跟随上面文字长短变化,这里要怎么简单处理?

    这里思考,想让下面的线和上面长短变化相同,怎么做比较简单?

    聪明的你应该已经想到了,就是在下面在放一个TextView不就好了,然后也设置和上面一样的文字给它,他们不就一样了��,这里已经完成了主要思路了,然后想只是需要占个长度就好,所以是不是就需要invisible这个属性了啊,占位但是隐藏控件,然后在外面的LinearLayout就会随着里面TextView长度变化而显示下划线的长短了。

    <LinearLayout           android:layout_width="wrap_content"           android:layout_height="30dip"           android:gravity="center_horizontal"           android:minWidth="33dp"           android:orientation="vertical">           <TextView               android:id="@+id/tv_count"               android:layout_width="wrap_content"               android:layout_height="wrap_content"               android:gravity="center"               android:singleLine="true"               android:text="1"               android:textColor="@color/text_second_primary"               android:textSize="20sp" />           <LinearLayout               android:layout_width="wrap_content"               android:layout_height="1dp"               android:background="#9D9D9D"               android:minWidth="10dp">               <TextView                   android:id="@+id/tv_count_tag"                   android:layout_width="wrap_content"                   android:layout_height="1dp"                   android:paddingLeft="2dp"                   android:paddingRight="2dp"                   android:background="#9D9D9D"                   android:minWidth="10dp"                   android:textSize="20sp"                   android:visibility="invisible" />           </LinearLayout>       </LinearLayout>

这样是不是就解决了,然后在设置值的时候也给下面的tv_count_tag设置一样的值就好了。

总结一下

上面东西很常见,多数人都会是设置下划线,不过下划线距离文字的距离无法控制,所以不能很好的满足需求,遇到这种的时候,我们就应该换个思路尝试,毕竟方法很多,不能死磕一条路,毕竟开发还是速度越快越好,有时间的话当然是推荐把问题研究透彻。

原创粉丝点击