有2中方法

  1. //中画线
  2. textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); // 设置中划线并加清晰
  3. //下划线
  4. textView.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
  5. //取消设置的线
  6. textView.getPaint().setFlags(0);
  7. //抗锯齿
  8. textView.getPaint().setAntiAlias(true);

自定义下划线UnderlineTextView

public class UnderlineTextView extends android.support.v7.widget.AppCompatTextView {
    //Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色,
    //样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法,
    //大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关
    private final Paint paint = new Paint();
    //下划线高度
    private int underlineHeight = 0;
    //下划线颜色
    private int underLineColor;

//通过new创建实例是调用这个构造函数
    //这种情况下需要添加额外的一些函数供外部来控制属性,如set*(...);
    public UnderlineTextView(Context context) {
        this(context, null);
    }

//通过XML配置但不定义style时会调用这个函数
    public UnderlineTextView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
        //获取自定义属性
        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.UnderlineTextView);
        //获取具体属性值
        underLineColor = typedArray.getColor(R.styleable.UnderlineTextView_underline_color, getTextColors().getDefaultColor());
        underlineHeight = (int) typedArray.getDimension(R.styleable.UnderlineTextView_underline_height,
                TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2, getResources().getDisplayMetrics()));
    }

//通过XML配置且定义样式时会调用这个函数
    public UnderlineTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

//防止下划线高度大到一定值时会覆盖掉文字,需从写此方法
    @Override
    public void setPadding(int left, int top, int right, int bottom) {
        super.setPadding(left, top, right, bottom + underlineHeight);
    }

//绘制下划线
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //设置下划线颜色
        paint.setColor(underLineColor);
        //float left, float top, float right, float bottom
        canvas.drawRect(0, getHeight() - underlineHeight, getWidth(), getHeight(), paint);
    }

}

style 里面

<!-- UnderlineTextView  -->
<declare-styleable name="UnderlineTextView">
    <attr name="underline_color" format="color"/>
    <attr name="underline_height" format="dimension"/>

</declare-styleable>

xml使用

声明命名空间 xmlns:app="http://schemas.android.com/apk/res-auto"

<xxx.UnderlineTextView
    android:id="@+id/tv_forget"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/colorPrimary"
    app:underline_color="@color/colorPrimary"
    app:underline_height="1dp" />

效果图

TextView 加下划线 、 中划线相关推荐

  1. android按钮设置下划线,Android开发如何给textView设置下划线或中划线

    关键字:android,android开发,下划线,中划线 我们在开发应用的时候,尤其是在做商城项目的时候,需要用到原价格以及降价后的价格,这就不可避免用到中划线或者下划线,在原价格上做一个中划线,这 ...

  2. android字符串加删除线,android textview 添加上划线 中划线 删除线

    很简单:两个例子一样 例如1: android textview 添加下划线 中划线 删除线 tv=(TextView)findViewById(R.id.tvId); tv.getPaint().s ...

  3. IOS Label下划线 中划线

    /** *  ZY  CODE * *  给Label设置下划线 */ +(void)setLabelUnderline:(UILabel *)label{ NSMutableAttributedSt ...

  4. TextView添加中划线、下划线等

    TextView  加下划线 .中划线.抗锯齿效果 //在代码中设置,中划线 textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Pa ...

  5. TextView设置下划线等属性

    TextView设置下划线等属性 原创乂影 发布于2017-09-14 14:32:17 阅读数 14152  收藏 展开  //下划线 textView.getPaint().setFlags(Pa ...

  6. 我可以在Android版式中加下划线吗?

    如何在Android布局xml文件中定义带下划线的文本? #1楼 Strings.xml文件内容: <resource><string name="my_text" ...

  7. TextView显示html信息、在文本下面添加下划线、中划线、设置图片

    1,在文本下面添加下划线 tv.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); 2,在文本设置中划线并加清晰 tv.getPaint().setFlag ...

  8. Android开发之为textView添加下划线,中划线等

    我们在开发应用的时候,尤其是在做商城项目的时候,需要用到原价格以及降价后的价格,这就不可避免用到中划线或者下划线,在原价格上做一个中划线,这样效果更好.那么如何设置中划线或者下划线呢?请看本文. 1. ...

  9. android TextView 中划线、下划线 跑马灯

    文字内容可以直接在values文件夹下strings里直接设置id 在activate中直接引用id即可(方便修改) 在这里插入代码片 插入图标 将图片放在drawable下 android:draw ...

最新文章

  1. Windows netstat 查看端口、进程占用
  2. Struts2的Action和Servlet有什么联系,区别?
  3. MyBatis超详细介绍——SQL语句构建器类
  4. webpack学习(七)打包压缩图片
  5. 某单位会java_Java核心API -- 4(日期类)
  6. 信息学奥赛一本通 1010:计算分数的浮点数值 | OpenJudge NOI 1.3 05
  7. adb隐藏状态栏图标_[应用]华为手机怎么设置隐藏状态栏上的图标
  8. MD5算法之C#程序 MD5算法描述
  9. junit测试SSH基本环境
  10. org.springframework.beans.factory.BeanCreationException...
  11. 网络工程师和网络管理原的区别
  12. Mac上IDA报错/:Permission denied Please specify another file path for the database
  13. [原创]Silverlight与SQLite数据库的互操作(CURD完全解析)[Final]
  14. 黑客技术之初学者编程入门
  15. matlab工具箱有哪些函数,matlab工具箱函数汇总(上)
  16. 屏幕画线软件ZOOMIT
  17. 微软雅黑和consolas混合字体_你用的字体得到授权了吗,小心巨额索赔!
  18. 不足200行代码,我用python写了一个上课点名系统。还没开学的你们慌了吗?
  19. java work stealing_工作窃取(work-stealing)算法
  20. Sails.js简介

热门文章

  1. Zimbra部署https证书的操作方法
  2. 教你如何正确的去校验身份证
  3. Echo,Linux上最忧伤的命令(故事)
  4. 事业单位工资计算机公积金计算,求问事业单位住房公积金如何计算
  5. iso文件用什么打开?还有iso是什么东西?
  6. 第十一、十二、十三、十四章 网络配置管理、归档和远程复制同步文件、软件包管理、创建访问linux文件系统
  7. 一款好用的应用程序打包工具
  8. 公众号(服务号)申请与认证
  9. 《国产操作系统之银河麒麟》桌面环境
  10. 视频(mp4文件)批量转换成动图(gif文件)