Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在运行时更改应用程序主题的值_Android_Runtime_Android Theme_Material Design - Fatal编程技术网

Android 在运行时更改应用程序主题的值

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或更高版本,

我的应用程序需要更改应用程序主题的某些属性(如colorPrimaryDark、colorAccent)

@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)