【问题标题】:Set a theme on a View programmatically on Android 5.0 Lollipop在 Android 5.0 Lollipop 上以编程方式在视图上设置主题
【发布时间】:2014-11-23 00:53:44
【问题描述】:

Android 5.0 Lollipop 添加了为不同视图(不仅仅是 Activity)设置主题的功能。

android:theme="@style/MyAwesomeTheme"

有没有办法在视图上动态设置主题?

【问题讨论】:

    标签: android android-layout android-theme android-5.0-lollipop


    【解决方案1】:

    android:theme 更改主题资源中指定的特定属性。您可以使用任何重载的构造函数来实例化特定视图,例如View(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)。这基本上就是充气机的作用。

    例如v7.widget.Toolbar 尝试在构造函数的超级调用中从资源android:themeright 中创建主题上下文,这或多或少是我上面提到的。只有某些小部件使用android:theme 覆盖应用程序主题。

    我不确定是否可以直接指定主题,而不是上面提到的实例化,或者使用支持的单个属性及其相关方法。

    【讨论】:

    • 感谢您的回答。在视图膨胀/创建后,似乎不可能动态更改主题。
    猜你喜欢
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    相关资源
    最近更新 更多