android style和theme的使用。
style:样式,用来描述单独的view控件,改变其样式。
theme:主题,用来控制整个应用的主题,或者某个activity的主题。
style的使用:改变某控件的样式。
在style.xml中描述样式信息
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TextAttr">
<item name="android:textSize">22sp</item>
<item name="android:textColor">#0000CC</item>
</style>
</resources>
在控件(TextView,EditText,Layout)中使用控件来显示其样式。
<TextView
style="@style/TextAttr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="样式" />
Theme的使用,用来改变窗体的展示。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TextAttr">
<item name="android:textSize">22sp</item>
<item name="android:textColor">#0000CC</item>
</style>
<style name="ActivityTheme">
<item name="android:windowNoTitle">true</item>
</style>
</resources>
在项目清单中:(应用在activity)
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<activity
android:name="com.enterise.always.test.activity.MainActivity"
android:label="@string/app_name"
android:theme="@style/ActivityTheme"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
在项目清单中:(应用在application中)
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"
android:label="@string/app_name">
@和?的使用:
@符号表明了我们应用的资源是之前有定义过的,或者是android框架中已经定义过的,我们直接对其进行使用。
?引用了当前主题中的值。
<style name="ActivityTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">?android:windowNoTitle</item>
</style>
上述:?android:windowNoTitle
引用的是name=?android:windowNoTitle的值,也就是true。
主题中:
<activity
android:name="com.enterise.always.test.activity.MainActivity"
android:label="@string/app_name"
android:theme="@style/ActivityTheme"(应用自定义样式)
>
<activity
android:name="com.enterise.always.test.activity.MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"(调用系统中的样式,来展示当前的activity主题)
>
reference--》R。style
Constants
int Animation Base style for animations.
int Animation_Activity Standard animations for a full-screen window or activity.
int Animation_Dialog Standard animations for a non-full-screen window or activity.
int Animation_InputMethod Window animations that are applied to input method overlay windows.
int Animation_Toast
int Animation_Translucent Standard animations for a translucent window or activity.
int MediaButton
int MediaButton_Ffwd
int MediaButton_Next
int MediaButton_Pause
int MediaButton_Play
int MediaButton_Previous
int MediaButton_Rew
int TextAppearance
int TextAppearance_DialogWindowTitle
int TextAppearance_Inverse
int TextAppearance_Large
int TextAppearance_Large_Inverse
int TextAppearance_Medium
int TextAppearance_Medium_Inverse
int TextAppearance_Small
int TextAppearance_Small_Inverse
int TextAppearance_Theme
int TextAppearance_Theme_Dialog
int TextAppearance_Widget
int TextAppearance_Widget_Button
int TextAppearance_Widget_DropDownHint
int TextAppearance_Widget_DropDownItem
int TextAppearance_Widget_EditText
int TextAppearance_Widget_IconMenu_Item
int TextAppearance_Widget_TabWidget
int TextAppearance_Widget_TextView
int TextAppearance_Widget_TextView_PopupMenu
int TextAppearance_Widget_TextView_SpinnerItem
int TextAppearance_WindowTitle
int Theme The default system theme.
int Theme_Black Special variation on the default theme that ensures the background is completely black.
int Theme_Black_NoTitleBar Variant of the black theme with no title bar
int Theme_Black_NoTitleBar_Fullscreen Variant of the black theme that has no title bar and fills the entire screen
int Theme_Dialog Default theme for dialog windows and activities, which is used by the Dialog class.
int Theme_InputMethod Default theme for input methods, which is used by the InputMethodService class.
int Theme_Light Theme for a light background with dark text on top.
int Theme_Light_NoTitleBar Variant of the light theme with no title bar
int Theme_Light_NoTitleBar_Fullscreen Variant of the light theme that has no title bar and fills the entire screen
int Theme_Light_Panel Default light theme for panel windows.
int Theme_Light_WallpaperSettings Theme for a wallpaper's setting activity that is designed to be on top of a light background.
int Theme_NoDisplay Default theme for activities that don't actually display a UI; that is, they finish themselves before being
resumed.
int Theme_NoTitleBar Variant of the default (dark) theme with no title bar
int Theme_NoTitleBar_Fullscreen Variant of the default (dark) theme that has no title bar and fills the entire screen
int Theme_Panel Default dark theme for panel windows.
int Theme_Translucent Default theme for translucent activities, that is windows that allow you to see through them to the windows
behind.
int Theme_Translucent_NoTitleBar Variant of the translucent theme with no title bar
int Theme_Translucent_NoTitleBar_Fullscreen Variant of the translucent theme that has no title bar and fills the entire screen
int Theme_Wallpaper Default theme for windows that want to have the user's selected wallpaper appear behind them.
int Theme_WallpaperSettings Theme for a wallpaper's setting activity that is designed to be on top of a dark background.
int Theme_Wallpaper_NoTitleBar Variant of the translucent theme with no title bar
int Theme_Wallpaper_NoTitleBar_Fullscreen Variant of the translucent theme that has no title bar and fills the entire screen
int Widget Widget Styles
int Widget_AbsListView
int Widget_AutoCompleteTextView
int Widget_Button
int Widget_Button_Inset
int Widget_Button_Small
int Widget_Button_Toggle
int Widget_CompoundButton
int Widget_CompoundButton_CheckBox
int Widget_CompoundButton_RadioButton
int Widget_CompoundButton_Star
int Widget_DropDownItem
int Widget_DropDownItem_Spinner
int Widget_EditText
int Widget_ExpandableListView
int Widget_Gallery
int Widget_GridView
int Widget_ImageButton
int Widget_ImageWell
int Widget_KeyboardView
int Widget_ListView
int Widget_ListView_DropDown
int Widget_ListView_Menu
int Widget_ListView_White
int Widget_PopupWindow
int Widget_ProgressBar
int Widget_ProgressBar_Horizontal
int Widget_ProgressBar_Inverse
int Widget_ProgressBar_Large
int Widget_ProgressBar_Large_Inverse
int Widget_ProgressBar_Small
int Widget_ProgressBar_Small_Inverse
int Widget_RatingBar
int Widget_ScrollView
int Widget_SeekBar
int Widget_Spinner
int Widget_TabWidget
int Widget_TextView
int Widget_TextView_PopupMenu
int Widget_TextView_SpinnerItem
int Widget_WebView
android:theme="@android:style/Theme.Dialog" 将一个Activity显示为对话框模式
android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标题栏,并全屏
android:theme="@android:style/Theme.Light" 背景为白色
android:theme="@android:style/Theme.Light.NoTitleBar" 白色背景并无标题栏
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" 白色背景,无标题栏,全屏
android:theme="@android:style/Theme.Black" 背景黑色
android:theme="@android:style/Theme.Black.NoTitleBar" 黑色背景并无标题栏
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏
android:theme="@android:style/Theme.Wallpaper" 用系统桌面为应用程序背景
android:theme="@android:style/Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景,且无标题栏
android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用程序背景,无标题栏,全屏
android:theme="@android:style/Translucent"
android:theme="@android:style/Theme.Translucent.NoTitleBar" 半透明,无标题
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" 半透明,无标题,全屏
android:theme="@android:style/Theme.Panel" 面板风格显示
android:theme="@android:style/Theme.Light.Panel" 平板风格显示