android自定义seekbar(简单自定义SeekBar的写法)

导读 大家好,小柏来为大家解答以上问题。android自定义seekbar,简单自定义SeekBar的写法很多人还不知道,现在让我们一起来看看吧! 解答:1、 ...

大家好,小柏来为大家解答以上问题。android自定义seekbar,简单自定义SeekBar的写法很多人还不知道,现在让我们一起来看看吧!

解答:

1、 创建HseekBar类以继承视图:

2、 这里我们初始化一些常量并在其参数构造方法中初始化滑块和进度条的进度颜色,通过BitmapFactory将res文件转换成位图对象。主要有三个对象:进度条的背景,进度条的前景,进度条的滑块。

3、 重写OnThouch()方法:

4、 在HseekBar类中,我们覆盖onThouch()方法,处理MotionEvent。ACTION_DOWN press和MotionEvent。ACTION_MOVE移动事件并计算它们的更改偏移量。然后调用this . invalid();刷新控件。

5、 覆盖onDraw()方法:

6、 我们使用onDraw()方法获取步骤2中OnThouch()方法计算的滑动偏移量,通过canvas绘制进度条的背景、进度条的进度和进度条的滑动标记并设置相应的坐标位置。

7、 设置当前进度setProgress(int progress)方法:

8、 我们在HseekBar类中写一个方法设置当前进度,通过代码中设置的值传入,然后通过canvas重置进度条的进度和进度滑块的坐标位置。

9、 Xml布局引用HseekBar自定义控件:

10、 在xml布局中,通过包名称引用HseekBar自定义控件,并设置其width属性。将它写在示例中,以在布局视图中查看效果。

11、 代码调用并设置进度值:

12、 我们在代码中初始化HseekBar自定义控件,通过setProgress(int progress)方法设置当前进度值。然后运行模拟器看看效果。这就完成了自定义控件。

本文到此讲解完毕了,希望对大家有帮助。