1.定义样式
在工程的res/values目录下新加一个样式文件,文件名可以随意,但后缀是xml。 该文件的根节点是<resources>,然后每个式样有一个style节点。style结点有唯一标识名称,在style下面是item,标识了各个属性的样式值。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
每个resources的节点都会在运行时,自动转变成resource对象,然后可以通过<style>的名称来引用。例如上面的样式可以这样引用:@style/CodeFont, 样式的parent属性是可选的,它可以指向一个已经定义好的style,并且在自定义的 style里的属性值会把parent的属性值覆盖掉。一个样式可以做为一个Activity的样式, 也可以做为一个Application的主题。
2.样式的继承
一个样式可以继承平台原有的样式,也可以继承自定义的样式。
继承平台原有的样式如下(一定要在parent里指定):
<style name="GreenText" parent="@android:style/TextAppearance">
<item name="android:textColor">#00FF00</item>
</style>
继承自定义的样式如下(可以不采用parent属性):
这种方式只要在style的name属性上加一个前缀就可以了。前缀名是自定义的那个style的名称,例如继承CodeFont的式样可以这样写:
<style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>
这种继承方式还可以不断继承下去:
<style name="CodeFont.Red.Big">
<item name="android:textSize">30sp</item>
</style>
具体一个style的item有哪些name呢?这个可以参考一个View的xml有哪些属性。所有的XML属性(XML Attributes)都可以在item中使用。对于所有可以引用的style属性,可以参考R.attr。并不是所有的View对象都会有相同的style 属性,但是如果给一个View使用了它不支持的属性后,该View只会对它支持的属性生效,其它的会被忽略。
3.使用Styles 和 Themes
在View中使用
<TextView
style="@style/CodeFont"
android:text="@string/hello" />
在application中使用
<application android:theme="@style/CustomTheme">
内置的styles 和 themes
<activity android:theme="@android:style/Theme.Dialog">
<activity android:theme="@android:style/Theme.Translucent">
可以在R.style类下面找到所有的内置style和themes。使用时要把style或themes的名称下划线改为点。 比如Theme_NoTitleBar
在使用时改为"@android:style/Theme.NoTitleBar"。
在Activity中使用
<activity android:theme="@style/CustomDialogTheme">
分享到:
相关推荐
总的来说,"geany-themes-master.zip"是一个丰富的Geany主题资源库,它提供了多种预设主题,让用户可以轻松地调整编辑器的外观,以提高编程效率和舒适度。通过对主题的了解和自定义,我们可以打造出个性化的Geany...
标题 "Stylish-Custom-themes-for-any-website_v1.8.3.rar" 提供了一个关于自定义网站主题的扩展程序,版本为1.8.3。这个扩展程序允许用户为他们访问的任何网站定制样式,从而改变浏览器的视觉体验。其中,“Stylish...
Gnome-OSC-HS--2-themes,包含Gnome-OSC-HS-(transparent)和Gnome-OSC-HS-(transparent),用于Ubuntu 18.04,仿mac风格,直接放入/usr/share/themes下就可以了使用
首先,"jquery-ui-themes-1.8.12.zip"是Google社区分享的一个jQuery UI主题资源包,它包含了多个预设的UI主题,这些主题都是为了使jQuery UI组件的外观和感觉更加统一和专业。1.8.12是该版本的特定迭代,可能包含了...
"grub2-themes-master"这个项目提供的主题通常包含配置文件、图像资源以及安装和应用主题的脚本。通过这些主题,即使是对Linux不太熟悉的用户也能轻松地改变GRUB2的外观,因为它们通常会提供简单的可视化安装步骤。 ...
本文将深入探讨“jquery-ui-themes-1.8.22.zip”这一压缩包,揭示其中包含的资源和使用方法,帮助开发者更好地理解和应用jQuery UI。 首先,让我们理解“jquery-ui-themes-1.8.22.zip”的结构。这个压缩包是jQuery ...
jQuery UI Themes 1.9.1,作为一款广泛使用的开源组件库,为开发者提供了丰富的样式主题和功能组件,使得构建美观、易用的网页变得更加便捷。这款官方版的jQuery UI Themes 1.9.1不仅功能强大,而且易于获取和使用,...
jquery-easyui-themes,easyui主题包,包含metro-blue metro-gray metro-green metro-orange metro-red ui-cupertino ui-dark-hive ui-pepper-grinder ui-sunny这些主题,具体的php使用方式见:...
Android Resource Navigator A Google Chrome Extension providing enhanced resource navigation...Quickly open the Android framework styles or themes XML via an always available browser action button. Frame
《jQuery EasyUI 主题详解与应用》 jQuery EasyUI 是一款基于 jQuery 的前端...通过对"jquery-easyui-themes.rar"中的主题资源进行灵活运用,开发者可以打造出具有独特风格的Web应用,提升产品的吸引力和用户体验。
FolioReader-Android is an ePub reader and parser framework written in Java. Features [x] Custom Fonts [x] Custom Text Size [x] Themes / Day mode / Night mode [x] Text Highlighting [x] List / Edit / ...
这个名为"jquery-ui-themes-1.12.1.zip"的压缩包包含的是jQuery UI的1.12.1版本的主题资源,旨在帮助开发者创建符合最新设计趋势的、具有高度可定制性的界面。 jQuery UI 提供了多种预设主题,这些主题可以在压缩包...
6. **主题和样式(Themes & Styles)**: 主题和样式是保持应用UI一致性的重要工具。通过定义全局的主题,可以统一改变所有视图的外观,而样式则可以针对特定的视图设置外观属性。 7. **动态添加和移除视图**: ...
gedit-themes-master.zip是一个包含多种gedit编辑器主题的压缩包文件,它为用户提供了个性化和美化gedit编辑器界面的机会。gedit是一款轻量级、功能丰富的文本编辑器,广泛应用于Linux操作系统中,是GNOME桌面环境的...
Gnome-OSC-HS--2-themes.tar.xz ubuntu18.04 仿 mac 主题
总结起来,"geany-themes-0.21"是Geany用户丰富和定制其编程环境的宝贵资源。通过这些精心设计的配色方案,用户不仅可以根据个人喜好调整代码的视觉呈现,还可以提高编程的舒适度和效率。无论你是Python新手还是经验...
PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近...Putty是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端,但是功能丝毫不逊色于商业的Telnet类工具。
6. **样式和主题**(Styles and Themes):为了保持应用的整体视觉一致性, Bubble Navigation的样式和颜色可能会在应用程序的主题中定义。这可能涉及到颜色资源文件和自定义样式。 7. **示例应用**(Sample App)...
这个压缩包“wp-mobile-themes”可能包含了多个不同的移动主题,每个主题都有独特的设计和功能。安装这些主题通常非常简单,只需要在WordPress后台的主题管理界面上传并激活即可。用户在选择主题时,应考虑以下几点...