Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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 - Fatal编程技术网

如何在android上选择当前主题

如何在android上选择当前主题,android,Android,我对android开发人员还很陌生,我想知道如何选择手机当前的主题。我正在Galaxy选项卡上开发,当前的主题是一个漂亮的白色主题(例如,如果我进入设置菜单)。但是sdk中的默认主题似乎是Android.Black 我不想硬编码任何选择,让应用程序使用手机/选项卡上选择的任何一个…我不确定你的问题的确切目的,因此我将分两部分回答: 如何让应用程序在Android上选择当前主题? 主题自动(默认)设置为当前设备/用户选择的任何系统主题。如果未定义属性或嵌套属性,则应用程序将被设置为反映系统样式。例

我对android开发人员还很陌生,我想知道如何选择手机当前的主题。我正在Galaxy选项卡上开发,当前的主题是一个漂亮的白色主题(例如,如果我进入设置菜单)。但是sdk中的默认主题似乎是Android.Black


我不想硬编码任何选择,让应用程序使用手机/选项卡上选择的任何一个…

我不确定你的问题的确切目的,因此我将分两部分回答:

如何让应用程序在Android上选择当前主题? 主题自动(默认)设置为当前设备/用户选择的任何系统主题。如果未定义属性或嵌套属性,则应用程序将被设置为反映系统样式。例如,如果主题的默认字体颜色为#afafaff,则应用程序的默认字体颜色也将为#afafaff,除非样式或主题资源另有指定

如果我不喜欢当前的主题,如何设置自己的主题? 你提到你喜欢Galaxy标签上的白色主题。你是对的,不同版本的android使用不同的系统主题,包括字体和背景

要获取当前主题(决定它是否是您想要的主题),只需使用
getApplication().getTheme()
。如果这是你想要的主题,你不必做任何事情。如果要应用逻辑并以编程方式设置主题,请使用
getApplication().setTheme([theme])
方法对其进行更改

您还可以指定应用程序范围的主题和单个活动的主题,并按照以下方式创建AndroidManifest.xml文件:

//for themes defined in res/values/style.xml    
<application android:theme="@style/myApplicationTheme"> 
<activity android:theme="@style/myApplicationTheme"> 
//for system themes
<application android:theme="@android:style/Theme.Light">
<activity android:theme="@android:style/Theme.Light">
//对于在res/values/style.xml中定义的主题
.  这些将列出所有系统主题以及每个主题的所有已定义样式元素,以便您可以使用所需的主题或制作自己的变体

如果您特别喜欢light system主题,可以使用

<application android:theme="@android:style/Theme.Light">