我对android dev很新,想知道,我该如何选择手机的当前主题.我正在使用Galaxy Tab进行开发,当前主题是一个漂亮的白色主题(例如,如果我进入设置菜单).但是sdk中的默认主题似乎是Android.Black.
我不想硬编码任何选择,让应用程序使用手机/标签上选择的任何一个...
jos*_*ain 21
我不确定你的问题到底是什么,所以我将分两部分回答:
主题自动(默认情况下)设置为当前设备/用户选择的任何系统主题.如果未定义样式或嵌套主题属性,则应将应用程序设置为反映系统样式.例如,如果主题的默认字体颜色为#AFAFAF,则应用的默认字体颜色也将为#AFAFAF,除非样式或主题资源另有指定.
你提到你喜欢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">
Run Code Online (Sandbox Code Playgroud)
并且,与往常一样,对于个别视图元素.
如果您希望实现特定的系统主题,请务必查看完整的主题规范.这些将列出所有系统主题以及每个主题的所有已定义样式元素,以便您可以使用所需主题或创建自己的变体.
如果您特别喜欢灯光系统主题,可以使用它为您的应用程序设置
<application android:theme="@android:style/Theme.Light">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7878 次 |
| 最近记录: |