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