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

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

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

android:theme="@style/MyAwesomeTheme"

有没有办法动态设置 View 的主题?

最佳答案

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

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

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

关于android - 在 Android 5.0 Lollipop 上以编程方式在 View 上设置主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27084343/

相关文章:

java - 我的 android 应用程序安装在 SD 卡或内部手机存储上吗

java - 并发修改异常如何解决?

java - Android 以编程方式向工具栏添加按钮

android - 我改变了重力,但按钮位置相同

android - 对 app compat v21 中的 TextAppearance 样式感到困惑

android - AdMob 广告未显示

java - 如何停止在 CollapsingToolbarLayout 上滚动,使其不会完全折叠

android - 与布局相关的问题

java - Android 对话框主题使 setContentView 使应用程序崩溃

android - 为Android应用程序提供多种主题颜色