在Android 5.0 Lollipop上以编程方式在View上设置主题

时间:2014-11-23 00:53:45

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

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

android:theme="@style/MyAwesomeTheme"

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

1 个答案:

答案 0 :(得分:0)

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

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

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