我已使用画布视图方法绘制了饼图,但是现在我想单击单个饼图?我该怎么点呢?

最佳答案

对于这个问题,我得到了完美的答案:

获取点击区域的颜色代码,并检查颜色是否与您的颜色代码匹配,这将获得您想要的点击。

@Override
public boolean onTouchEvent(MotionEvent event) {

    float touchX = event.getX();

    float touchY = event.getY();

    Logger.debug("X-->"+touchX+" Y---->"+touchY);

    //get drawing cache of your view
    Bitmap bitmap = getDrawingCache(true);

            //Get color code of pixle where you have tap
    int colorCode=bitmap.getPixel((int)touchX,(int)touchY);

    if(colorCode == context.getResources().getColor(R.color.pie_blue)) {
        Logger.debug("Color blue");
        onPieClick.onBluePieClick(touchX,touchY);
    }else if(colorCode == context.getResources().getColor(R.color.pie_green)) {
        Logger.debug("Color green");
        onPieClick.onGreenPieClick(touchX,touchY);
    }

    return super.onTouchEvent(event);


}

10-06 03:20