Android Studio中主题样式的使用方法详解

来自:网络
时间:2020-10-14
阅读:

1.主题

主题是包含一种或多种的格式化属性集合,在程序中调用主题资源可改变窗体的样式,对整个应用或某个Activity存在全局性影响。

  定义位置:res/values目录下的styles.xml文件中

  标签

                  <style></style>:定义主题

                  <item></item>:设置主题的样式

  示例(定义一个名为AppTheme的主题)              

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
      <!-- Customize your theme here. -->
      <item name="colorPrimary">@color/colorPrimary</item>
      <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
      <item name="colorAccent">@color/colorAccent</item>
 </style>

  主题的使用

          (1)XML文件中:android:theme ="@style/AppTheme"

          (2)Java代码中:setTheme(R.style.AppTheme);

2、样式

  样式:设置View的具体样式。

  定义位置:res/values目录下的styles.xml文件中

  标签

                  <style></style>:定义样式

                  <item></item>:设置控件的样式

  在XML文件中调用方法

             style="@style/textViewSytle"

3、自定义样式

    当自定义的样式或者主题不能满足需求时,还可以自定义样式,自定义样式和主题的步骤为:

    1) 在res/values 目录下创建一个样式文件style.xml,添加一个<resources>根节点。

    2) 在<resources>节点中添加一个<style>节点,并在该节点中为样式或主题定义一个唯一的名字,也可以选择增加一个父类属性,表示当前风格继承父类的风格。

    3) 在<style>节点中声明一个或多个<item>,每个<item>节点需要定义一个属性名,并在元素内部设置这个属性的值。

(1)样式:

    Android中的样式和CSS样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个View控件属性的集合。样式只能作用于单个View,如EditText、TextView,使用样式可以指定多个控件具有的重复属性统一抽取出来进行编写,避免书写大量重复代码。

(2)主题:

    主题也是包含一个或者多个View控件属性的集合,但它作用范围不同。主题是通过AndroidManifest.xml中的<application>和<activity>节点用在整个应用或者某个Activity,它的影响是全局性的。如果一个应用中使用了主题,同时应用下的View也使用了样式,那么当主题和样式中的属性发生冲突时,样式的优先级高于主题。

    在Android系统中,自带的样式和主题都可以直接拿来用,例如设置主题可以通过android:theme="android:style/…"。

返回顶部
顶部