Android 在运行时更改应用程序主题的值
我的应用程序需要更改应用程序主题的某些属性(如colorPrimaryDark、colorAccent)Android 在运行时更改应用程序主题的值,android,runtime,android-theme,material-design,Android,Runtime,Android Theme,Material Design,我的应用程序需要更改应用程序主题的某些属性(如colorPrimaryDark、colorAccent) @color/i\u需要\u运行时 @颜色/我也是 但这些更改必须在运行时完成,因为这些值是通过webservice(json)实现的。因为没有任何api可以在运行时更改主题的值,所以我认为唯一的方法是通过Java反射更改xml中定义的资源值,但我不知道如何做,因为在R.Java中定义了ID,而不是值本身 有什么想法吗?在安卓系统中,在运行时不能修改主题。但是,对于API 21或更高版本,
@color/i\u需要\u运行时
@颜色/我也是
但这些更改必须在运行时完成,因为这些值是通过webservice(json)实现的。因为没有任何api可以在运行时更改主题的值,所以我认为唯一的方法是通过Java反射更改xml中定义的资源值,但我不知道如何做,因为在R.Java中定义了ID,而不是值本身
有什么想法吗?在安卓系统中,在运行时不能修改主题。但是,对于API 21或更高版本,您可以调用
getWindow().setStatusBarColor(int color)
getWindow().setNavigationBarColor(int color)
在活动中以编程方式设置颜色
getWindow().setStatusBarColor(int color)
getWindow().setNavigationBarColor(int color)