Диаграмма движения

я просто создаю новую диаграмму с achartengine, и я замечаю, что, когда я перемещаю диаграмму, она проходит по оси x и y. спасибо Dan, эта проблема решается путем обновления моего achartengine до версии 1.1.0 ver. во всяком случае, я видел, что эта проблема была решена на демонах ачартангина, но я не могу понять, почему она не устраняет проблему на моем графике.

enter image description here

я думаю, что-то, что я делаю неправильно, мой xml-код:




мой код Java:

    public GraphicalView weightView(Context context) {

        manageData = new ManageData(context);
        TimeSeries series = new TimeSeries("The day");
        TimeSeries maxSeries = new TimeSeries("Max Weight");
        TimeSeries minSeries = new TimeSeries("Min Weight");

        int count = 0;
        float sum = 0;
        float max = 0;
        int preWeek = 0;

            manageData.open();
            cursor = manageData.getProfile();
            manageData.close();

            if ((cursor.moveToFirst()) && (cursor.getCount() != 0)) {
            weightUnit = cursor.getString(C_PROFILE_WEIGHT_UNIT);
            weight = cursor.getFloat(C_PROFILE_WEIGHT);
            bmi = cursor.getFloat(C_PROFILE_BMI);
            weightGain();
            cursor.close();
            minSeries.add(0,weight);
            maxSeries.add(0,weight);

            minSeries.add(12,weight+1);
            maxSeries.add(12,weight+2);
            minSeries.add(42,weight+minWeight);
            maxSeries.add(42,weight+maxWeight);
            }   


        manageData.open();
        Cursor cursor = manageData.getDiaryInfo();
        manageData.close();
        cursor.moveToFirst();

        if (cursor.getCount() > 0) {
            preWeek = cursor.getInt(DIARY_WEEK);
        }

        while (!cursor.isAfterLast()) {

            if ((cursor.getInt(DIARY_WEEK) == preWeek)
                    && (cursor.getFloat(WEIGHT) != 0)) {
                count++;
                sum = sum + cursor.getFloat(WEIGHT);

                cursor.moveToNext();
            } else {
                if (count != 0) {
                    series.add(preWeek, sum/count);

                    if (max < sum/count) {
                        max = sum/count;
                    }
                }
                sum = 0;
                count = 0;
                preWeek = cursor.getInt(DIARY_WEEK);

                if (cursor.getFloat(WEIGHT) != 0) {
                    count++;
                    sum = sum + cursor.getFloat(WEIGHT);
                }

                cursor.moveToNext();
            }
        }

        if (max < sum/count) {
            max = sum/count;
        }
        series.add(preWeek, sum/count);
        cursor.close();

        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
        dataset.addSeries(series);
        dataset.addSeries(minSeries);
        dataset.addSeries(maxSeries);

        XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();

       //Customization Weight line
        XYSeriesRenderer renderer = new XYSeriesRenderer();
        renderer.setColor(0xff154916);
        renderer.setLineWidth(3);
        renderer.setPointStyle(PointStyle.CIRCLE);
        renderer.setFillPoints(true);

       //Customization maxWeight line
        XYSeriesRenderer rendererMax = new XYSeriesRenderer();
        rendererMax.setColor(0xff8EC239);
        rendererMax.setLineWidth(2);

       //Customization minWeight line
        XYSeriesRenderer rendererMin = new XYSeriesRenderer();
        rendererMin.setColor(0xffF7931E);
        rendererMin.setLineWidth(2);


        mRenderer.setMargins(new int[] {20, 35, 20, 20 });
        mRenderer.setApplyBackgroundColor(true);
        mRenderer.setBackgroundColor(Color.TRANSPARENT);
        mRenderer.setMarginsColor(color);

        mRenderer.addSeriesRenderer(renderer);
        mRenderer.addSeriesRenderer(rendererMax);
        mRenderer.addSeriesRenderer(rendererMin);

        mRenderer.setYLabelsColor(0, Color.BLACK);
        mRenderer.setXLabelsColor(Color.BLACK);
        mRenderer.setLabelsTextSize(18);
        mRenderer.setAxesColor(Color.BLACK);
        mRenderer.setLabelsColor(Color.BLACK);

        mRenderer.setYLabelsAlign(Align.RIGHT);
//      mRenderer.setYAxisAlign(Align.LEFT, 0);

        mRenderer.setXTitle("Week");
        if(weightUnit.equals("kg")){
        mRenderer.setYTitle("Weight (kg)");
        } else {
            mRenderer.setYTitle("Weight (lb)");
        }
        mRenderer.setZoomButtonsVisible(true);   
        mRenderer.setLabelsColor(0xff418614);

        mRenderer.setLegendTextSize(15);
        mRenderer.setPointSize(5);
//      mRenderer.setZoomEnabled(false, false);
//      mRenderer.setPanEnabled(true, false);
        mRenderer.setXAxisMax(43);
        mRenderer.setXAxisMin(0);
        if(max>maxWeight + weight){
        mRenderer.setYAxisMax(max + 10);
        } else {
            mRenderer.setYAxisMax(maxWeight + weight + 10);
        }
        mRenderer.setYAxisMin(0);

        return ChartFactory.getLineChartView(context, dataset, mRenderer);

    }

мой основной код Java:

public void onClick(View v) {
switch (v.getId()) {
case R.id.tbMyChartsWeight:
    tbMyChartsWeight.setChecked(true);
    tbMyChartsWaist.setChecked(false);
    tbMyChartsMood.setChecked(false);

    line = new LineGraph();
    gView = line.weightView(this);
    layout = (LinearLayout) findViewById(R.id.chart);
    layout.removeAllViews();
    layout.addView(gView);
    return;
case R.id.tbMyChartsWaist:
    tbMyChartsWeight.setChecked(false);
    tbMyChartsWaist.setChecked(true);
    tbMyChartsMood.setChecked(false);

    line = new LineGraph();
    gView = line.waistView(this);
    layout = (LinearLayout) findViewById(R.id.chart);
    layout.removeAllViews();
    layout.addView(gView);
    return;
case R.id.tbMyChartsMood:
    tbMyChartsWeight.setChecked(false);
    tbMyChartsWaist.setChecked(false);
    tbMyChartsMood.setChecked(true);

    line = new LineGraph();
    gView = line.mentalView(this);

    layout = (LinearLayout) findViewById(R.id.chart);
    layout.removeAllViews();
    layout.addView(gView);
    return;
default:
    break;
}

}

я надеюсь, что кто-то может помочь мне с этим и я сожалею о своем плохом английском спасибо всем вам:]

0
nl ja de

1 ответы

Вы используете прозрачный фон. Вы можете исправить это, используя другой тип фона или не устанавливая фон.

1
добавлено
Единственное, что вы могли бы сделать, это установить все поля на 0 и не использовать оси и метки.
добавлено автор Dan D., источник
Пожалуйста.
добавлено автор Dan D., источник
привет снова Дэн и спасибо за вашу помощь. он действительно работает как шарм для меня, но я использую прозрачный фон только потому, что у меня есть собственный собственный фон, который я бы хотел импортировать. есть ли способ иметь свой собственный фон, а также не иметь проблемы, которые я получил? еще раз спасибо.
добавлено автор Blackstar, источник
хорошо, спасибо за помощь и вашу большую поддержку.
добавлено автор Blackstar, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)