在库项目中的Android样式查找

时间:2012-07-31 22:25:35

标签: android android-layout android-ui

我正在努力让它发挥作用。我有一个自定义控件,我已经进入了一个从我的主应用程序项目引用的库项目。在图书馆项目中,我定义了一些可定制的attrs(忽略最后一个中的拼写错误,修复: - )):

<declare-styleable name="PinLockKeyPad">
    <attr name="keypadKeyBackground" format="reference" />
    <attr name="cancelKeyBackground" format="reference" />
    <attr name="keypadButtonTextSize" format="dimension" />
    <attr name="cancelButtonTextSize" format="dimension" />
    <attr name="backspaceButtonImageResouce" format="reference" />
</declare-styleable>

这些可设置样式的attrs在java代码中没有被引用,但是在库的styles.xml文件中使用,如下所示:

<style name="KeypadButton" parent="MatchBoth">
    <item name="android:background">?keypadKeyBackground</item>
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">?keypadButtonTextSize</item>
    <item name="android:textStyle">bold</item>
    <item name="android:typeface">sans</item>
    <item name="android:layout_weight">1</item>
</style>

在我的主应用程序中,我在styles.xml中完成了以下操作:

<style name="Theme.App" parent="@style/Theme.Sherlock.Light.DarkActionBar.ForceOverflow">
    <item name="keypadKeyBackground">@drawable/keypad_key</item>
    <item name="cancelKeyBackground">@drawable/keypad_key</item>
    <item name="pinHintTextColor">@color/white</item>
    <item name="pinInputBackground">@color/white</item>
    <item name="keypadButtonTextSize">18sp</item>
    <item name="cancelButtonTextSize">18sp</item>
    <item name="backspaceButtonImageResouce">@drawable/ic_delete</item>
</style>

并已将Theme.App设置为我的应用程序主题。但是,当我试图给引用KeypadButton样式的类充气时,由于没有定义这些attrs,我正在崩溃。我错过了什么?

旁注:这可能与我的主应用程序中有多个库有关。我有另一个应用程序执行这个完全相同的事情,并没有崩溃,但它只使用一个库(使用这些样式的库)。

0 个答案:

没有答案