MPAndroidChart: Как показать круги на всех линиях при клике? - PullRequest
0 голосов
/ 11 ноября 2018

Я показываю несколько LineDataSet на моем графике. Мне не нужно показывать круги по умолчанию. Но когда пользователь нажимает на график, мне нужно показать круги на всех строках в зависимости от значения x. Как это реализовать?

enter image description here

1 Ответ

0 голосов
/ 13 ноября 2018

Сначала необходимо установить ложные круги рисования с набором данных следующим образом:

lineDataSet.setDrawCircles(false);

После этого вам нужно реализовать OnChartGestureListener () следующим образом:

    lineChart.setOnChartGestureListener(new OnChartGestureListener()
    {
        @Override
        public void onChartTranslate(MotionEvent me, float dX, float dY) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onChartSingleTapped(MotionEvent me)
        {
            // TODO Auto-generated method stub
            if(lineDataSet.isDrawCirclesEnabled())
            {
                lineDataSet.setDrawCircles(false);
            }
            else
            {
                lineDataSet.setDrawCircles(true);
            }
        }

        @Override
        public void onChartScale(MotionEvent me, float scaleX, float scaleY) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {

        }

        @Override
        public void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {

        }

        @Override
        public void onChartLongPressed(MotionEvent me) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onChartFling(MotionEvent me1, MotionEvent me2,
                                 float velocityX, float velocityY) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onChartDoubleTapped(MotionEvent me) {
            // TODO Auto-generated method stub

        }
    });

Это сделает работу. Желаем удачи, братан!

...