`

android (style&theme)

 
阅读更多
android 中的样式和 CSS 样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个 view 控件属性的集合。如:需要定义字体的颜色和大小。

在 CSS 中是这样定义的:

<style>

.itcast{COLOR:#0000CC;font-size:18px;}

</style>

可以像这样使用上面的 css 样式: <div class="itcast"> 传智播客 </div>

在 Android 中可以这样定义样式:

在 res/values/styles.xml 文件中添加以下内容

<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name=“itcast”> <!-- 为样式定义一个全局唯一的名字 -->

<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/itcast"

..... />

</LinearLayout>

<style> 元素中有一个 parent 属性。这个属性可以让当前样式继承一个父样式,当前样式可以继承到父样式的值。当然,如果父样式的值不符合你的需求,你也可以对它进行修改,如下:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name="itcast">

<item name="android:textSize">18px</item> <!-- name 属性为样式要用在的 View 控件持有的属性 -->

<item name="android:textColor">#0000CC</item>

</style>

<style name="subitcast" parent="@style/itcast">

<item name="android:textColor">#FF0000</item>

</style>

</resources>

android 中主题也是用于为应用定义显示风格,它的定义和样式的定义相同,如下:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name=“itcastTheme">

<item name=“android:windowNoTitle”>true</item> <!– 没标题 à

<item name=“android:windowFullscreen”>?android:windowNoTitle</item> <!– 全屏显示 à

</style>

</resources>

上面“ ?android:windowNoTitle” 中的问号用于引用在当前主题中定义过的资源的值。下面代码显示在 AndroidManifest.xml 中如何为应用设置上面定义的主题:

<application android:icon="@drawable/icon" android:label="@string/app_name"

android:theme="@style/itcastTheme">

......

</application>

除了可以在 AndroidManifest.xml 中设置主题,同样也可以在代码中设置主题,如下:

setTheme(R.style.itcastTheme);

尽管在定义上,样式和主题基本相同,但是它们使用的地方不同。样式用在单独的 View ,如: EditText 、 TextView 等;主题通过 AndroidManifest.xml 中的 <application> 和 <activity> 用在整个应用或者某个 Activity ,主题对整个应用或某个 Activity 进行全局性影响。如果一个应用使用了主题,同时应用下的 view 也使用了样式,那么当主题与样式属性发生冲突时,样式的优先级高于主题。

另外 android 系统也定义了一些主题,例如: <activity android:theme=“@android:style/Theme.Dialog”> ,该主题可以让 Activity 看起来像一个对话框
分享到:
评论

相关推荐

    android_UI进阶之style和theme的使用

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

    Android Style\\Theme动态切换

    在Android开发中,主题(Theme)和样式(Style)是构建用户界面的重要组成部分。它们允许开发者定义应用程序的整体外观和感觉,包括颜色、字体、布局等元素。动态切换Theme和Style可以提升用户体验,使得用户可以根据...

    Android UI中的style和theme以及AlertDialog

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

    android style and theme

    ### Android中的Style与Theme详解 #### 一、引言 在Android开发中,为了提高UI设计的效率并保持界面的一致性,开发者通常会利用**Style**和**Theme**两个概念来实现统一的设计规范。本文将详细介绍这两个概念,并...

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

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

    Android设置theme中可能遇到的坑

    发现坑 最近在配置项目主题的时候报了如下错误: This Activity already has an...style name=AppTheme.NoActionBar&gt; &lt;item name=android:windowActionBar&gt;false &lt;item name=android:windowNoTitle&gt;true &lt;ite

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

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

    Android设置Activity背景为透明style的简单方法(必看)

    @android:style/Theme.Translucent @android:style/Theme.Translucent.NoTitleBar @android:style/Theme.Translucent.NoTitleBar.Fullscreen 只需要在Manifest中需要透明的Activity内设置theme为以上任意一个就可以...

    Style和Theme

    Style和Theme在Android中的应用 在Android开发中,Style和Theme是两个非常重要的概念,它们被广泛应用于UI设计中。下面,我们将详细讲述Style和Theme的区别和使用方法,并提供实践中的示例代码。 Style Style是...

    android 主题(Theme)实现

    android:theme="@style/MyCustomTheme"&gt; ... ``` 或对单个Activity: ```xml android:name=".YourActivity" android:theme="@style/MyCustomTheme"&gt; ... ``` 2. 局部应用主题:在Activity的`onCreate()`...

    Android Style实例总结

    在实际开发中,你还可以结合主题(Theme)和样式(Style)来统一应用到整个应用程序,使得设计更加一致且易于维护。通过不断地实践和调整,你可以创造出满足项目需求的各种独特按钮样式。在`11StyleSample`这个...

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

    android:theme="@style/AppTheme" &gt; &lt;!-- ... --&gt; ``` 或对于特定Activity: ```xml android:name=".MainActivity" android:theme="@style/CustomThemeForMainActivity" &gt; &lt;!-- ... --&gt; ``` `@style/App...

    Android改Theme实现夜间模式

    本篇文章将详细介绍如何通过修改Android应用的Theme来实现夜间模式。 首先,理解Android中的Theme(主题)是至关重要的。Theme是Android应用的全局样式,它定义了应用的整体外观和感觉,包括颜色、字体、布局等元素...

    Androidstudio theme 主题

    本文将深入探讨Android Studio中的主题(Theme)概念以及如何利用第三方主题提升开发体验。 Android Studio的主题主要指的是应用程序的视觉样式,包括颜色、字体、布局等方面。主题可以在全局范围内统一应用,使得...

    android change style

    在Android开发中,风格(Style)和主题(Theme)是两个重要的概念,它们允许开发者统一并自定义应用程序的外观和感觉。本篇文章将深入探讨如何在Android应用中动态地改变Style,以及Theme与Style的区别。 首先,让...

    androidStyle

    在Android开发中,"androidStyle"是一个重要的概念,它关乎到应用的视觉呈现和用户体验。风格(Style)允许开发者统一并定制应用中的UI元素外观,包括字体、颜色、尺寸等属性,使得整体界面具有一致性和专业性。下面...

    Android系统自带样式 (android:theme)

    android:theme=”@android:style/Theme.Dialog” : Activity显示为对话框模式 android:theme=”@android:style/Theme.NoTitleBar” : 不显示应用程序标题栏 android:theme=”@android:style/Theme.NoTitleBar....

    Android应用源码之theme.zip

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

    Activity_Theme_Style.rar_activity theme_android

    在"Activity_Theme_Style.rar_activity theme_android"这个压缩包中,包含的资源可能是一个关于如何自定义和应用Android Activity主题的教程。 首先,我们来了解一下Android中的主题系统。Android提供了预定义的...

    Style&Attr;详解

    在Android应用开发中,主题(Theme)和样式(Style)是相互关联的。主题是一种更高层次的样式,它能够影响整个应用或某个活动(Activity)的外观和行为。样式通常应用于特定的UI控件,如按钮或文本框。 在描述中...

Global site tag (gtag.js) - Google Analytics