TextSeekBar 文字跟随拖快移动
来源:互联网 发布:金十数据看白银 编辑:程序博客网 时间:2024/06/06 09:58
public class TextSeekBar extends SeekBar {
/** 文本的颜色 */private int mTitleTextColor = Color.TRANSPARENT;/** 文本的大小 */private float mTitleTextSize = 18;/** 文字的内容 */private String mTitleText;/** 文字距离进度条的距离 */float mTextY = 18;/** 得到拖快的宽度 */private int mThumbWidth;/** 得到进度条的宽度 */private int mSeekWidth;/** 画文字画笔 */private Paint mPaint;/** 文本偏差值 */private int mDeviationValue=0;public TextSeekBar(Context context) { super(context); initView();}public TextSeekBar(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initView();}public TextSeekBar(Context context, AttributeSet attrs) { super(context, attrs); initView();}/** * 初始化view */private void initView() { initPaint();}private void initPaint() { this.mPaint = new Paint(); // 设置抗锯齿 this.mPaint.setAntiAlias(true); this.mPaint.setTextSize(mTitleTextSize); // 这里设置40是因为拖快的大小是80 setPadding(40, 0, 40, 0);}@SuppressLint("NewApi")@Overrideprotected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); if (changed) { // 得到拖快的宽 Rect rectThumb = getThumb().getBounds(); mThumbWidth = rectThumb.width(); // 得到进度条的宽 Rect rectSeek = this.getProgressDrawable().getBounds(); mSeekWidth = rectSeek.width(); }}/** * 设置文本偏差值,用来设置显示实际内容和显示内容之间的差 */public void setTextDeviation(int value) { mDeviationValue=value;}@Overrideprotected synchronized void onDraw(Canvas canvas) { super.onDraw(canvas); // 得到写的内容 mTitleText = getProgress() + mDeviationValue+ ""; // 文字的宽 float numTextWidth = mPaint.measureText(mTitleText); float text_x = mSeekWidth * getProgress() / getMax() + (mThumbWidth - numTextWidth) / 2; this.mPaint.setColor(mTitleTextColor); canvas.drawText(mTitleText, text_x, mTextY, mPaint);// 画文字}@Overridepublic boolean onTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: mTitleTextColor=Color.WHITE; break; case MotionEvent.ACTION_MOVE: mTitleTextColor=Color.WHITE; break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: mTitleTextColor=Color.TRANSPARENT; break; default: break; } invalidate();}
}
0 0
- TextSeekBar 文字跟随拖快移动
- 个性文字跟随鼠标移动
- Javascript_ex_文字跟随鼠标移动
- C#文字跟随鼠标移动
- 层 ,文字跟随鼠标移动效果
- 跟随进度条进度移动的文字提示
- qt中文字图片跟随鼠标移动
- JavaScript实现跟随鼠标移动而移动的文字
- android TextView文字跟随seekBar滑动条滑块的位置移动
- 文字或图片跟随鼠标移动或键盘控制图片移动实例(javascript实现)
- NGUI对象跟随鼠标拖拽移动
- 鼠标跟随文字
- 跟随鼠标的文字
- 鼠标文字跟随效果
- 飘浮文字跟随鼠标
- 鼠标文字跟随
- iOS UITextView 高度随文字自动增加,并跟随键盘移动(一)
- iOS UITextView 高度随文字自动增加,并跟随键盘移动(二)
- HTML父页面调用iframe子页面中js变量和方法
- 网站流量统计指标
- Android 面试笔试集锦 --- 基本知识点 整理版
- malloc,free使用入门
- linux.1:创建分区和文件系统
- TextSeekBar 文字跟随拖快移动
- Contains Duplicate II
- 简述SQL Server Replication的常见错误及其处理
- 前端面试题
- JVM JRE JDK
- 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!
- webstrom破解教程
- 物化视图
- 基于SOA 的软件过程管理在中小企业中的应用