首页

theme-主题

搜索

概述

1、主题用来设置窗口的显示样式,如设置窗口是否带标题、边框、背景色或背景图等。

2、使用范围:Activity或Application

3、定义方式:与style一致

4、主题的范围更大

定义原则

主题通常定义在res/values文件夹下,扩展文件名是xml。主题文件的根标签是<resources>,

其中可以包含若干个<style>标签,每个<style>标签都定义一个主题,<style>标签内可包含若干个<item>标签,

每个<item>标签设置当前主题的一个属性,如背景图。

常用的系统主题

1、系统的主题定义格式:android:theme="@android:style/Theme."

2、常用的系统主题

(1)android:theme="@android:style/Theme.Dialog"

作用:设置Activity为对话框风格

(2)android:theme="@android:style/Theme.Translucent"

作用:设置Activity背景为透明

(3< item name="android:windowNoTitle">true</item>

作用:设置Activity无标题。

(4) <item name="android:windowFullscreen">true</item>

作用:设置Activity全屏幕显示。

设置主题

在清单文件中配置android:theme

1、Application:对全部Activity起作用。

2、Activity:只对当前Activity起作用。

示例

在项目清单文件中为三个Activity设置主题,代码如下所示:

步骤1、打开项目清单文件,红框中的代码用来设置主题

   <application 

     android:icon="@drawable/icon" 

     android:label="@string/app_name">

     <!-- 设置主题为全屏、无标题、透明的窗口 -->

        <activity android:name=".MainActivity"

                  android:label="@string/app_name"

                  android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

        <!-- 设置主题为myTheme.light的Activity -->

<activity 

android:name="SecondActivity"

android:theme="@style/myTheme.light">

</activity>

<!-- 设置主题为myBlueTheme的Activity -->

<activity 

android:name="ThirdActivity"

android:theme="@style/myBlueTheme">

</activity>

    </application>

步骤2、在项目的res/values文件夹下创建my_theme.xml文件,在该文件中输入以下代码:

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

<resources>

<style name="myTheme">

<item name="android:windowNoTitle">true</item>

<item name="android:windowFullscreen">true</item>

</style>

<style name="myTheme.light">

<item name="android:windowBackground">@color/white</item>

</style>

<style name="myBlueTheme" parent="myTheme">

<item name="android:windowBackground">@color/myBlue</item>

</style>

</resources>

重要提示

1. 风格跟主题冲突的时候,风格的优先级高         

2. 主题可以改变程序中所有控件的属性

 

 

上一页 下一页