如何在android中创建圆形音量控制?

时间:2011-06-28 08:14:17

标签: android controls volume rounding

我需要创建圆形音量控制,它应该如下所示:

sample http://dmonzon.com/2011/04/16/free-tabletphone-user-interface-professional-set-v-7/

对于像这样的事情,有没有更好的教程或想法?

1 个答案:

答案 0 :(得分:1)

一种简单的方法是使用自定义视图:

  • 创建自定义视图
  • 在自定义视图中绘制按钮
  • 使用onTouchEvent
  • 在MotionEvent.ACTION_MOVE上调用 无效();
  • 在onDraw中计算两者之间的角度 你的手指和中心 按钮使用atan2()函数
  • 然后使用canvas.rotate制作 按钮跟着手指。

可能会有所帮助的一些例子: 简单的自定义视图以及如何设置初始数据(例如音量):View Inflation and custom views

旋转位图:Android: How to rotate a moving animated sprite based on the coordinates of its destination

onTouchEvent并使其无效:Make certain area of bitmap transparent on touch

自定义视图将如何回复音量?如果您的活动具有公共静态卷变量,则自定义视图可以通过调用MyActivity.volume =(100/360)* angle来设置卷,或者更好的是您的活动可以具有公共静态方法setVolume(volume){...}然后可以在音量更改时执行一些代码 - 在音量按钮自定义视图中调用MyActivity.setVolume(音量);