【问题标题】:re-style an activity defined in an library project重新设计在图书馆项目中定义的活动
【发布时间】:2014-03-12 15:09:15
【问题描述】:

我创建了一个 android-library,其中包含两个活动,这些活动在库项目的清单中定义并从同一库中的其他服务调用。到目前为止它工作得很好,但我不想硬编码活动的设计。相反,使用库项目的 main 应用程序应该能够更改活动的样式,而不必在清单中包含活动。

所以我在库项目中创建了 attrs.xml,将所有可重写样式定义为引用。还有一个styles.xml,其中这些属性是用库项目的默认值预设的。但是当我尝试将库应用程序或活动的主题设置为 ?attrs/themeRef 时,这些值不会应用于布局。请注意,如果我将活动的主题设置为使用带有 @style/NameOfTheme 的预定义样式,则会应用这些值。但这样我就无法在主应用程序中重新定义样式。

如果我将主应用程序的主题设置为@NameOfTheme,它也不起作用。

经过两天的各种组合,我无法让它发挥作用。所以问题是:这甚至可能吗?如果不是,为什么?

【问题讨论】:

    标签: android android-activity android-manifest android-theme library-project


    【解决方案1】:

    在主应用程序中创建一个主题,将库中的主题作为其父主题。 然后覆盖新主应用程序主题中的属性值。

    ActionBarSherlock 的样式示例http://actionbarsherlock.com/theming.html 是关于如何完成此操作的绝佳参考。

    【讨论】:

    • 啊,谢谢你发布这个。从库样式派生我的应用程序样式是缺失的部分。
    猜你喜欢
    • 2012-05-11
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    相关资源
    最近更新 更多