2

我正在尝试使用此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 是不可能的。我如何在 R.java 中为这个扩展定义 styleable?有什么建议么?

4

1 回答 1

2

您应该在单独的 xml 文件中定义您需要的属性。我的意思是创建一个 values.xml 并使用<declare-styleable name="ViewPagerExtensions"></declare-styleable>标签。

让我举个例子:

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

顺便说一句,项目中已经有 attrs.xml,请查看

于 2012-07-18T12:45:48.140 回答