Android中带有弯曲进度条的自定义按钮

时间:2017-07-05 06:42:01

标签: android button

我需要设计这样的东西,请帮助我。 提前致谢。

寻找Android设计

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以创建实现onTouchEvent的组件。在onTouchEvent中,您可以检测触摸的位置和方向,并相应地更改图形的旋转位置以及音量。 onTouchEvent记录在“View”下的Android API文档中。

Ref link

enter image description here

将以下代码写入触摸事件。

switch (event.getAction()) {    
    case MotionEvent.ACTION_DOWN:
        // reset the touched quadrants
        for (int i = 0; i < quadrantTouched.length; i++) {
            quadrantTouched[i] = false;
        }
        allowRotating = false;
        startAngle = getAngle(event.getX(), event.getY());
        break;
    case MotionEvent.ACTION_MOVE:
        double currentAngle = getAngle(event.getX(), event.getY());
        rotateDialer((float) (startAngle - currentAngle));
        startAngle = currentAngle;
        break;
    case MotionEvent.ACTION_UP:
        allowRotating = true;
        break;
}

// set the touched quadrant to true
quadrantTouched[getQuadrant(event.getX() - (dialerWidth / 2), dialerHeight - event.getY() - (dialerHeight / 2))] = true;
detector.onTouchEvent(event);
return true;

并使用以下链接获取更多参考。

Custom Button