`
bing0313
  • 浏览: 9648 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android样式和主题(style&theme)

阅读更多
android样式:android中的样式和CSS样式作用相似,都是用于为界面定义显示风格。

在Android中定义样式,在res/values/styles.xml文件中添加以下内容
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name=“testStyle”> <!-- 为样式定义一个全局唯一的名字-->
        <item name=“android:textSize”>18px</item> <!-- name属性的值为使用了该样式的View控件的属性 -->
        <item name="android:textColor">#0000CC</item>
    </style>
</resources>

在layout文件中使用上面的android样式:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ....>
    <TextView style="@style/testStyle"
        .....  />
</LinearLayout>

样式继承:样式也像CSS一样能继承一个父样式,继承后具有父样式的值。如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
	 <style name="textViewStyle">
	     <item name="android:textColor">#FF0000</item>
	     <item name="android:textSize">20sp</item>
	 </style>
	 
	 <!--  继承textViewStyle  -->
	 <style name="childStyle" parent="textViewStyle">
	     <item name="android:autoLink">web</item>
	     <item name="android:textColor">#00FF00</item>
	 </style>

	 <!--  继承childStyle  -->
	 <style name="childStyle.otherMethod">
	     <item name="android:textSize">15sp</item>
	 </style>
</resources>

<style>标签中有一个parent属性。其值设置为父样式即可继承,或者在name属性中前面直接加上父样式的名称 + "." + 自身样式名称
如:<style name="childStyle.otherMethod">
在R文件中会命名为childStyle_otherMethod,直接引用即可

android主题:android中主题也是用于为应用定义显示风格,它的定义和样式的定义相同,如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
	 <style name="testTheme">
             <!--  设置无标题  -->
	     <item name="android:windowNoTitle">true</item> 
             <!--  设置全屏显示 --> 
	     <item name="android:windowFullscreen">?android:windowNoTitle</item> 
	 </style>
</resources>

上面“?android:windowNoTitle”中的问号用于引用在当前主题中定义过的资源的值。即前面android:windowNoTitle的值为true的话,这里也为true

下面代码显示在AndroidManifest.xml中如何为应用设置上面定义的主题:
<application android:icon="@drawable/icon" android:label="@string/app_name"
     android:theme="@style/testTheme">
   ......
</application>

除了可以在AndroidManifest.xml中设置主题,同样也可以在代码中设置主题,如下:
setTheme(R.style.themeTest);
在定义上,样式和主题基本相同,但是它们使用的地方不同。
样式用在具体的View,如:EditText、TextView等;
主题通过AndroidManifest.xml中的<application>和<activity>用在整个应用或者某个 Activity,主题对整个应用或某个Activity进行全局性影响。如果一个应用使用了主题,同时应用下的view也使用了样式,那么当主题和样式属性发生冲突时,样式的优先级高于主题。
另外android系统也定义了一些主题,
例如:<activity android:theme=“@android:style/Theme.Dialog”>,该主题可以让Activity看起来像一个对话框,
还有透明主题:@android:style/Theme.Translucent 。如果需要查阅这些主题,可以在文档的referenceandroid-->R.style 中查看。
分享到:
评论

相关推荐

    Android_样式(style)&主题(theme)&显示单位

    在Android开发中,样式(style)和主题(theme)是两个关键的概念,它们用来统一和管理应用程序的视觉表现。样式可以看作是一组预定义的属性集合,用于控制UI组件的外观,比如字体颜色、大小、背景等。而主题则是...

    Android UI中的style和theme以及AlertDialog

    在Android UI设计中,style和theme是两个至关重要的概念,它们极大地增强了应用界面的统一性和可维护性。这篇博文将深入探讨这两个主题,并通过具体的示例来解释它们的工作原理。 首先,我们来看`style`(样式)。...

    Android Style\\Theme动态切换

    这篇博客“Android Style\\Theme动态切换”可能探讨了如何在Android应用程序中实现实时改变主题和样式的技巧。 首先,我们需要理解Android中的Theme和Style的基本概念。Theme是全局的,通常应用于整个应用程序或...

    android_UI进阶之style和theme的使用

    Android 中的样式(style)和主题(theme)是两种资源,都是 Android 提供的默认资源,可以供开发者使用。同时,开发者也可以自己定义style和theme,以满足不同的需求。 style style是针对view的,例如TextView、...

    android安卓app已经放弃使用Theme.Dialog,改用Theme.Holo.DialogWhenLarge

    在Android应用开发中,主题(Theme)是控制应用程序全局外观和行为的重要元素。"Theme.Dialog"和"Theme.Holo.DialogWhenLarge"都是Android系统提供的两种不同的对话框主题。本篇文章将详细探讨这两种主题的区别,...

    android style(样式)和theme(主题)设置.doc

    在Android开发中,样式(style)和主题(theme)是用来统一和管理应用程序视觉表现的关键工具。它们允许开发者定义UI组件的外观和行为,并且能够轻松地在整个应用中应用和更改这些设定。 首先,我们来详细了解样式...

    Androidstudio theme 主题

    在Android开发中,主题主要通过两种方式实现:style.xml文件和AndroidManifest.xml中的application标签。style.xml位于res/values目录下,是定义自定义风格和主题的主要场所。在这里,你可以定义一个或多个&lt;style&gt;...

    android style and theme

    在Android开发中,为了提高UI设计的效率并保持界面的一致性,开发者通常会利用**Style**和**Theme**两个概念来实现统一的设计规范。本文将详细介绍这两个概念,并通过实例展示它们在实际项目中的运用。 #### 二、...

    android 主题(Theme)实现

    在Android开发中,主题(Theme)是应用全局样式和外观的重要组成部分。它们允许开发者通过一套统一的视觉风格来定制应用程序的界面元素,如颜色、字体、控件样式等,而无需在每个单独的Activity或布局文件中进行重复...

    Android 使用Font和style定义App全局字体样式

    本文将详细讲解如何在Android中使用`Font`和`style`来定义App全局字体样式。 首先,让我们了解`Font`的概念。在Android中,`Font`通常指的是字体文件,通常以`.ttf`(TrueType Font)或`.otf`(OpenType Font)格式...

    基于android样式与主题(style&amp;theme)的详解

    在Android开发中,样式(Style)和主题(Theme)是两个关键的概念,它们用来统一和管理应用程序的视觉表现。这篇文章将深入探讨这两种机制,并展示如何在Android项目中有效地使用它们。 首先,样式(Style)是一种...

    android theme 皮肤主题 的应用

    总结,Android主题和皮肤主题的应用涉及资源文件的管理、XML样式定义、代码中主题的设置和切换、第三方库的利用,以及动态主题切换和皮肤包的打包分发。理解并掌握这些知识点,将有助于开发出更加美观、个性化的...

    学习笔记:自定义样式(style)与主题(theme)

    在Android开发中,自定义样式(style)和主题(theme)是两个关键的概念,它们极大地提升了应用的界面设计灵活性和用户体验。自定义样式允许开发者为UI组件设定特定的外观和行为,而主题则可以全局统一应用的视觉风格。...

    Android主题样式配置

    二、Android样式(Styles) 1. **样式的定义**:样式是针对单个视图或控件的外观设定,可以包含字体、颜色、大小等属性。同样在`styles.xml`文件中定义,例如: ```xml &lt;style name="CustomButtonStyle" parent=...

    Android应用源码之theme.zip

    可能会有一个&lt;style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"&gt;,这表示"AppTheme"主题继承自"Theme.AppCompat.Light.DarkActionBar",这是一个常见的Android支持库提供的主题,包含轻量级背景...

    Android样式主题_国际化_动画

    ### Android样式主题 样式和主题在Android中都是通过XML资源文件定义的,存放在项目的res/values目录下的styles.xml文件中。样式是针对单个控件的属性集合,而主题则是作用于整个活动(Activity)或应用的全局样式...

    Android Theme和Styles内部定义解析.txt

    在Android开发中,为了实现界面的一致性和美观性,开发者通常会使用`Theme`和`Styles`来管理UI元素的样式和外观。本文将深入探讨Android中`Theme`和`Styles`的内部定义及其工作原理。 #### 二、Theme与Styles的基础...

    Android代码-theme简单使用示例.zip

    在Android开发中,主题(Theme)是一个至关重要的概念,它为整个应用程序或应用程序中的特定组件提供了统一的视觉样式。主题可以定义颜色、字体、图标以及其他界面元素的外观,从而实现一致性和品牌识别度。本示例将...

    主题(Theme) 资源

    主题基于预定义的Android样式(style),如@android:style/Theme.Light或@android:style/Theme.Dark,或者自定义样式。 创建自定义主题时,开发者通常会在res/values/styles.xml文件中定义一个新的&lt;style&gt;元素。在...

    Style&Attr;详解

    首先,从标题和描述我们可以得知文档将会详细解释Android中的资源主题和样式的应用机制,以及UI控件如何读取和解析这些资源。在Android应用开发中,主题(Theme)和样式(Style)是相互关联的。主题是一种更高层次的...

Global site tag (gtag.js) - Google Analytics