Android 是否可以在运行时修改主题?

Android 是否可以在运行时修改主题?,android,android-activity,android-theme,Android,Android Activity,Android Theme,我想动态更改此主题中的属性:theme.AppCompat.Light.DarkActionBar。特别是,我想根据显示的数据更改colorPrimary、colorAccent和colorPrimaryDark属性,以便可以适当地设置特定小部件(如EditTexts)的主题。我知道我必须在活动的setContentView(…)之前更改主题,但在更改主题中的特定属性之前,我该如何更改 编辑:从@reVerse的评论链接到我知道不可能改变主题,因为它们是不变的。是否可以通过编程方式创建主题 是否

我想动态更改此主题中的属性:
theme.AppCompat.Light.DarkActionBar
。特别是,我想根据显示的数据更改colorPrimary、colorAccent和colorPrimaryDark属性,以便可以适当地设置特定小部件(如
EditText
s)的主题。我知道我必须在活动的
setContentView(…)
之前更改主题,但在更改主题中的特定属性之前,我该如何更改


编辑:从@reVerse的评论链接到我知道不可能改变主题,因为它们是不变的。是否可以通过编程方式创建主题

是否可以通过代码创建主题?不幸的是,这也是不可能的。您唯一的选择是通过代码手动为每个视图上色。如果您可以使用固定大小的调色板,则可以创建样式覆盖定义,然后在运行时使用来修改主题,请参阅我对另一个问题的回答。