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