AndroidPlot не соблюдает атрибуты стиля xml?

Я только что провел большую часть дня, пытаясь внедрить AndroidPlot в свое существующее приложение, но достиг точки, когда я не вижу, что я делаю неправильно.

Я сделал простой учебник по линейному графику, который размещен на главной странице androidplot.com, и он сработал очень хорошо:

введите здесь описание изображения

Поэтому я скопировал действие и макеты в свой существующий проект, добавил действие в манифест и включил «com.androidplot:androidplot-core:0.9.6» в зависимости build.gradle, а затем повторно синхронизировал.

Мне казалось, что я коснулся всего, что только что делал раньше. Когда я запустил только что добавленную сюжетную активность, я заметил, что у сюжета нет абсолютно никакого стиля: введите здесь описание изображения

Я пробовал очистить, перестроить, сделать недействительным кеш, но стилей все равно не было.

Я удалил все и попытался снова добавить код учебника ... тот же результат. Я даже пробовал некоторые незначительные изменения ... те же результаты.

Мой макет simple_xy_plot_example.xml с представлением графика был скопирован прямо из ссылки quickstart на веб-сайте androidplot. с кодом в onCreate активности, которую я запускал. Поэтому, глядя на учебник, я не вижу никакой физической разницы между ним и тем, что было добавлено в мой существующий проект. Оба были даже сделаны в одной и той же среде IDE!

Как ни странно, после некоторой борьбы с Google я наткнулся на поиск (не могу вспомнить, где), который показал, что вместо использования предложенного атрибута ap:lable="mytltle" они использовали androidPlot.title="mytitle". Итак, я попытался, и название действительно показало.

Я сразу же попытался добавить androidPlot.X="" ко всем атрибутам XML-представления моего графика. Снова запустил действие и нет, отображался только текст для заголовка и диапазона, фон, размер текста, цвета и все другие атрибуты стиля, похоже, не имели влияния.

Я готов предоставить информацию/код в надежде на лучшее понимание того, что здесь происходит (или чего нет). Я просто не знаю, что еще опубликовать или как действовать, поскольку это почти точная копия учебника (только в другом проекте с другими действиями).

AndroidPlot 0.9.6 работает на Android 5

Пожалуйста, помогите - я действительно хочу использовать эту библиотеку!


person Logic1    schedule 11.04.2016    source источник
comment
В значительной степени отказался от AndroidPlot, так как, похоже, нет решения этой проблемы. Также нет хорошей поддержки (кажется, что форум AndroidPlot всегда не работает??). Поэтому я предположу, что проект AndroidPlot находится в упадке, и поищите что-то в другом месте, которое немного более поддерживается/надежно.   -  person Logic1    schedule 13.04.2016


Ответы (2)


Attrs androidPlot:someAttr на самом деле являются устаревшим механизмом поддержки стилей xml (см. документацию по конфигуратору) в библиотеке Android до появления .AAR. Однако он все еще работает сегодня и на самом деле является единственным способом настроить определенные вещи через xml. Причина, по которой он работал только для одного из элементов в вашем приложении, вероятно, заключается в том, что конфигуратор использует отражающий механизм для применения атрибутов к графику, схема именования атрибутов отличается. Я думаю, что один элемент просто имел одинаковое имя в обеих схемах.

Использование Configurator является решением, но я думаю, что у вас будет гораздо лучший опыт, используя вместо этого первоклассные стильные attrs. Из того, что вы написали выше, похоже, что вы пытаетесь интегрироваться в существующий проект, и, поскольку для вас все успешно компилируется, я подозреваю, что что-то происходит в конфигурации сборки.

Пара вопросов:

  • Какая у вас версия инструментов сборки?
  • Каков ваш целевой уровень SDK?
  • Использует ли ваш проект обфускацию? Если да, то отключение помогает?

PS - о форуме Androidplot - на самом деле это группа Google, поэтому она должна работать почти все время. Вот прямая ссылка, если она вам нужна.

person Nick    schedule 02.05.2016

У меня была аналогичная проблема. В моем случае проблема заключалась в том, что я использую другой applicationId в файле сборки, чем указанный packagename в манифесте. Проблема с этой конфигурацией заключается в том, что библиотека ожидает класс R.stylable в пакете, определенном в файле сборки, но он находится в пакете, определенном в манифесте. Я решил проблему, изменив packagename в манифесте, чтобы он соответствовал другому. Это требует небольшого рефакторинга. Но я не мог изменить его в файлах сборки, так как приложение уже опубликовано.

person Bernd    schedule 13.06.2016