【问题标题】:Android: How to Declare Styleable in R.java?Android:如何在 R.java 中声明 Styleable?
【发布时间】:2012-07-18 12:14:47
【问题描述】:

我正在尝试使用这个ViewPager extension。这个插件帮助我使用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);

Eclipse 说: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?有什么建议吗?

【问题讨论】:

    标签: android


    【解决方案1】:

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

    我举个例子:

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

    对了,项目里已经有attrs.xml了,check it out

    【讨论】:

      猜你喜欢
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 2012-05-03
      • 1970-01-01
      • 2023-04-02
      相关资源
      最近更新 更多