我想在android上实现一个模拟时钟,比如说只有一个时针(秒针,分针不要),怎么样可以用手指去触动那个指针,然后跟着手指旋转移动,有什么事件吗?谁能给点思路啊
圆心位置你是知道的吧, 那么在 OnTouchListener 事件中,的MotionEvent.ACTION_DOWN: 来检测是否处于指针的位置,是的话,设个标志,当手指移动时,MotionEvent.ACTION_MOVE: 事件中来重画指针
imgViewer.setOnTouchListener( new View.OnTouchListener()
还是很容易吧。先检测屏幕触点的坐标,时钟中心到触点的角度和时针的角度一样。然后写个循环刷新屏幕,或者用回调类。
我也是新手,android才玩几天。我写java一般是通过eclipse的方法查找功能来学习它有哪些功能的。
activity有个方法 :重写它
[code="java"]@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
}[/code]
public boolean onTouch(View v, MotionEvent event) {
你要看你是在哪里画的,一般Touch 事件中,有个 MotionEvent
里面有 getX() getY() float型的,如果必要的话,你可能需要转成整型
为什么要计算角度呢? 你先连接两个点, 这样一条线就出来了,不过这样,指针就时长时短了
如果要计算角度的话,(y1 -y1)/ (x1-x2) 是一个 tan 值,你要用到数学内容