package com.francis.underlinetextviewtest;

import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.util.Log;
import android.util.TypedValue;
import android.widget.TextView; /**
* Created by Francis on 14-10-13.
*/
public class UnderlineTextView extends TextView { private final Paint mPaint = new Paint();
private int mUnderlineHeight = 0; public UnderlineTextView(Context context) {
this(context, null);
} public UnderlineTextView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
} public UnderlineTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context, attrs);
} private void init(Context context, AttributeSet attrs) {
Resources r = getResources();
// mUnderlineHeight == 6
mUnderlineHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2, r.getDisplayMetrics());
} @Override
public void setPadding(int left, int top, int right, int bottom) {
super.setPadding(left, top, right, bottom + mUnderlineHeight);
} @Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Draw the underline the same color as the text mPaint.setColor(getTextColors().getDefaultColor());
// 对角线上的两点。 canvas.drawRect(0, getHeight() - mUnderlineHeight, getWidth(), getHeight(), mPaint);
}
}

加入布局文件:

<com.francis.underlinetextviewtest.UnderlineTextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="#FFDDDDDD"/>

最新文章

  1. Wamp 简单使用方法
  2. RobotFrameWork接口报文测试-----(二)demo的升级版
  3. noip2003复赛普及组第一题——乒乓球
  4. 用JAVA代码构造一个日历
  5. 50个很棒的Python模块
  6. 接收JSON类型转成对象
  7. ios可视化编程 UI高级 UI_13
  8. 记录日常Linux常用软件
  9. HttpContextAccessor不会出现线程同步问题?
  10. 框架tensorflow2
  11. 536. Construct Binary Tree from String 从括号字符串中构建二叉树
  12. Docker - 国内镜像的配置及使用
  13. Python 简单的文件上传功能
  14. div居中与div内容居中,不一样
  15. 廖雪峰Java4反射与泛型-2注解-2定义注解
  16. smooth l1
  17. 进程同步——哲学家进餐问题Java实现
  18. win10 Docker Toolbox 默认路径不能写问题
  19. (转)EDM邮件制作规范完整版
  20. [转]Session and application state in ASP.NET Core

热门文章

  1. sicily 1000. LinkedList
  2. 【DNN 系列】 添加模块后不显示
  3. CUDA中的归约
  4. 点击鼠标右键弹出错误提示:CrashHandler initialization error
  5. form表单加密前台js后台java
  6. Rain and Umbrellas(dp)
  7. RMAN备份脚本--DataGuard primary
  8. MySql系列之初识
  9. Linux Shell脚本编程-基础2
  10. USART