自定义复合控件的背景属性

时间:2016-05-03 03:46:04

标签: java android controls

我有一个复合控件,它基本上将ButtonProgressBar结合起来。它包含我在 attrs.xml 中声明的后台属性:

<?xml version="1.0" encoding="UTF-8" ?>

<resources>
    <declare-styleable name="MyControl">
        <attr name="background" format="reference" />
    </declare-styleable>
</resources>

在我控制的构造函数中,然后我从TypedArray中拉出背景并应用它。

直到最近,当我不得不添加对v4支持库的依赖时,这一切都运行良好。现在我在 attrs.xml 文件中收到此构建错误:

  

错误APT0000:属性&#34;背景&#34;已定义(APT0000)

这是为什么?作为替代方案,我可以做些什么,以便我的复合控制的消费者可以设置背景?

2 个答案:

答案 0 :(得分:0)

与内部库的冲突也定义了'background'属性。 有关详细信息,请访问:https://groups.google.com/forum/#!topic/actionbarsherlock/_N0hn47zx6w

答案 1 :(得分:0)

属性&#34;背景&#34;已在支持库中定义。所以你不必再次定义它。你只需添加属性而不定义它,就像这样,

如果您想在自定义视图中使用app:background,那么 在attrs文件中<attr name="background"/>已经足够了。

如果你想在自定义视图中使用android:background,那么在attrs中使用这一行。

<attr name="android:background"/>