仿QQ设置字体大小自定义SeekBar
来源:互联网 发布:传统顶级域名有哪些 编辑:程序博客网 时间:2024/06/04 23:25
1、先上截图
2、思路:自定义view其实就像一个画画过程,步骤如下:
a:首先画刻度条;
b:刻度描述;
c:然后画拖动块;
d:响应手势。
代码1:重写onDraw方法
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
/** * canvas.drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint); * Rect src: 是对图片进行裁截,若是空null则显示整个图片 * RectF dst:是图片在Canvas画布中显示的区域, * 大于src则把src的裁截区放大, * 小于src则把src的裁截区缩小。 */ canvas.drawBitmap(bgBitmap, null, rectF, bgPaint); for (int i = 0; i < titles.length; i++) { float textWidth = textPint.measureText(titles[i]); canvas.drawText(titles[i], (i * perWidth + 20) - textWidth / 2, 40, textPint); } canvas.drawCircle(perWidth * cur_sections + marginKeduLeft, heightSize - marginKeduBottom - bgHeight / 2, 20, thumbPaint);//圆心落在刻度条的刻度中心
// canvas.drawBitmap(thumbBitmap, 20 - thubmWidth/2, 100 - thumbHeight/2, thumbPaint);
}
代码2:重写onTouchEvent方法
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
downX = (int) event.getX();
downY = (int) event.getY();
responseTouch(downX, downY);
break;
case MotionEvent.ACTION_MOVE:
moveX = (int) event.getX();
moveY = (int) event.getY();
responseTouch(moveX, moveY);
break;
case MotionEvent.ACTION_UP:
upX = (int) event.getX();
upY = (int) event.getY();
responseTouch(upX, upY);
responseOnTouch.onTouchResponse(cur_sections);
break;
}
return true;
}
3、完整代码:https://github.com/QinFenFen/MySeekBar
- 仿QQ设置字体大小自定义SeekBar
- 自定义控件 设置字体大小
- 精仿QQ设置界面(自定义PreferenceActivity)
- Android开发之精仿QQ设置界面(自定义PreferenceActivity
- Android自定义控件字体大小设置。
- 仿QQ自定义编辑框
- 仿qq自定义滑动开关
- android仿QQ优雅的修改App字体大小
- android SeekBar的自定义样式设置
- 自定义seekBar设置字体的大小
- 仿QQ slidingmenu 自定义属性 自定义控件
- Android仿虾米音乐播放器之自定义进度条seekbar
- Android 自定义控件 仿MX 播放器的SeekBar效果
- Android仿QQ的设置与帮助使用PreferenceActivity 与 自定义PreferenceActivity
- 仿 QQ 底部 Tab 切换带数字提示的 RadioButton,支持自定义提示数字背景颜色、字体大小、字体颜色。后续将持续更新......
- android.inputmethodservice.KeyboardView 自定义键盘 字体大小设置
- android自定义Dialog,仿QQ手机浏览器
- 完全仿QQ好友列表,自定义ExpandableListView!
- 职场回头草,可吃得?
- 如何拿到互联网巨头的Offer
- 文件描述符 流 流缓冲的一些概念与问题
- 荷兰3色国旗问题
- unity优化《一》
- 仿QQ设置字体大小自定义SeekBar
- ubuntu 16.04 下重置 MySQL 的root密码(忘记root密码)
- 如何使用rem,为什么rem不生效?
- mysql查询表和列的注释、添加列
- 循环队列的实现
- 可选操作和UnsupportedOperationException
- css 手风琴菜单效果,图片动画
- 软考错题合集之14-11-AM
- 本周互动留言抽奖结果公布!!