主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格。在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status Bar是否可见来分类:
- •android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话框模式
- •android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏
- •android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标题栏,并全屏
- •android:theme="Theme.Light" 背景为白色
- •android:theme="Theme.Light.NoTitleBar" 白色背景并无标题栏
- •android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,无标题栏,全屏
- •android:theme="Theme.Black" 背景黑色
- •android:theme="Theme.Black.NoTitleBar" 黑色背景并无标题栏
- •android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏
- •android:theme="Theme.Wallpaper" 用系统桌面为应用程序背景
- •android:theme="Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景,且无标题栏
- •android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用程序背景,无标题栏,全屏
- •android:theme="Translucent" 半透明
- •android:theme="Theme.Translucent.NoTitleBar" 半透明、无标题栏
- •android:theme="Theme.Translucent.NoTitleBar.Fullscreen" 半透明、无标题栏、全屏
- •android:theme="Theme.Panel"
- •android:theme="Theme.Light.Panel"
这些主题可以应用到整个应用Application范围或者某个活动Activity范围中。
应用Application范围
在AndroidManifest.xml中的application节点中设置theme属性,主题theme应用到整个应用程序中。
<application
Android:icon=”@drawable/icon”
Android:icon=”@string/app_name”
Android:icon=”@android:style/ Theme.Black.NoTitleBar”>
活动Activity范围
使用java代码或者在AndroidManifest.xml中对活动Activity的主题进行设置,主题仅应用到当前活动中。
在AndroidMainifest.xml设置方法:
<activity
android:name=“.About”
android:label=“@string/app_name”
android:theme=“@android:style/ Theme.Black.NoTitleBar” >
使用java代码进行设置,在当前活动Activity的onCreate中进行设置:
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setTheme(android.R.style.Theme_Translucent_NoTitleBar);
setContentView(R.layout.main);
}