本文主要是介绍Android_主题(theme)与样式(style),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
主题和样式有什么不同?
主题:Theme是针对窗体级别的,改变窗体样式。在application和activity标签下使用。
样式:Style是针对窗体元素级别的,改变指定控件或者Layout的样式。在具体控件下使用。
怎么自定义主题和样式
具体步骤:
- 在res/values目录下新建一个名叫style.xml的文件
- 对于每一个主题和样式,给<style>元素增加一个全局唯一的名字,和一个可选的父类属性
- 在<style>元素内部,申明一个或者多个<item>,每一个<item>定义了一个名字属性,并且在元素内部定义了这个风格的值
- 然后可以在其他XML资源,manifest或应用程序代码中引用这些自定义资源
样式例子:
- <style name="textview_style01">
- <item name="android:layout_width">fill_parent</item>
- <item name="android:layout_height">fill_parent</item>
- <item name="android:gravity">center</item>
- <item name="”android:textSize”">14sp</item>
- <item name="”android:textColor”">#FF7F7C</item>
- </style>
- <style name="textview_style02" parent="@style/textview_style01">
- <item name="”android:textSize”">28sp</item>
- </style>
- <TextView style="@style/textview_style01"></TextView>
主题例子
- <style name="my_theme" parent="android:Theme.Black">
- <item name="”android:windowNoTitle”">true</item>
- <item name="”android:textSize”">14sp</item>
- <item name="”android:textColor”">#FFFF0000</item>
- </style>
- <application android:theme="@style/my_theme">
- <activity android:theme="@style/my_theme">
这里的parent是继承于android:Theme,所以在下面的样式里,只能是window开头的样式才起作用,所有样式请参考\sdk\docs\reference\android\R.attr.html,
Android中自带的主题和样式
Android系统自带主题
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"
Android系统自带样式(注:以下的?android:attr/可以省略成?android: (至于为什么,参考:http://blog.csdn.net/tianjf0514/article/details/8265294))
Android字体大小
android:textAppearance="?android:attr/textAppearanceLarge"android:textAppearance="?android:attr/textAppearanceMedium"android:textAppearance="?android:attr/textAppearanceSmall"
或
style="?android:attr/textAppearanceLarge"style="?android:attr/textAppearanceMedium"style="?android:attr/textAppearanceSmall"Android字体颜色android:textColor="?android:attr/textColorPrimary"android:textColor="?android:attr/textColorSecondary"android:textColor="?android:attr/textColorTertiary"android:textColor="?android:attr/textColorPrimaryInverse"android:textColor="?android:attr/textColorSecondaryInverse"AndroidProgressBarstyle="?android:attr/progressBarStyleHorizontal"style="?android:attr/progressBarStyleLarge"style="?android:attr/progressBarStyleSmall"style="?android:attr/progressBarStyleSmallTitle"分隔符 横向:<Viewandroid:layout_width="fill_parent"android:layout_height="1dip"android:background="?android:attr/listDivider" />分隔符 纵向:<View android:layout_width="1dip"android:layout_height="fill_parent"android:background="?android:attr/listDivider" />其它有用的样式
android:layout_height="?android:attr/listPreferredItemHeight"android:paddingRight="?android:attr/scrollbarSize"style="?android:attr/windowTitleBackgroundStyle"style="?android:attr/windowTitleStyle"android:layout_height="?android:attr/windowTitleSize"android:background="?android:attr/windowBackground"
这篇关于Android_主题(theme)与样式(style)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!