Android: как объявить стиль в R.java?

Я пытаюсь использовать это ViewPager расширение. Этот плагин помогает мне использовать SwipeyTab, Мне удалось запустить пример в виде одного приложения. Поэтому я хочу интегрировать расширение в свое приложение. Затем я скопировал java-файлы и изменил имена пакетов, все в порядке. Но у меня есть некоторые ошибки в этих строках:

mTextColorCenter = a.getColor(R.styleable.ViewPagerExtensions_textColorSelected, mTextColorCenter);
mLineColorCenter = a.getColor(R.styleable.ViewPagerExtensions_lineColorSelected, mLineColorCenter);
mLineHeightSelected = a.getDimensionPixelSize(R.styleable.ViewPagerExtensions_lineHeightSelected, mLineHeightSelected);

Затмение говорит: Styleable cannot be resolved or is not a field, Другие строки, содержащие styleable, также дают те же ошибки. Если я попытаюсь нажать кнопку, решить эту проблему, ничего не изменится.

Когда я посмотрел на расширение файла R.java, я увидел следующие строки:

public static final class styleable {
    public static final int[] ViewPagerExtensions = {
        0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003,
        0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007,
        0x7f010008, 0x7f010009, 0x7f01000a
    };

    public static final int ViewPagerExtensions_dividerColor = 7;

    // there is more 
}

Я знаю, что редактировать R.java невозможно. Как я могу определить styleable в R.java для этого расширения? Какие-либо предложения?

1 ответ

Решение

Вы должны определить атрибуты, которые вам понадобятся, в отдельном XML-файле. Я имею в виду создать values.xml и использовать <declare-styleable name="ViewPagerExtensions"></declare-styleable> теги.

Позвольте мне привести пример:

<declare-styleable name="ViewPagerExtensions">
    <attr format="integer" name="dividerColor" />
</declare-styleable>

Кстати, в проекте уже есть файл attrs.xml, проверьте это:

Другие вопросы по тегам