在Android中能够如此定义样式,这一个天性能够让日前体制继承3个父样式

运用style能够为layout中其余对象以xml格局定义外观,例如给文设置textSize,textColor等,

Android 样式

android中的样式和CSS样式效能相似,都是用来为界面成分定义展现风格,它是三个涵盖一个要么四个view控件属性的集结。如:须要定义字体的颜色和尺寸。

在CSS中是如此定义的:

<style>
.wu{COLOR:#0000CC;font-size:18px;}
</style>

能够像这么使用方面包车型客车css样式:<div
class=”wu”>wuyudong‘blog</div>

在Android中得以如此定义样式:

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

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name=“wu”> <!-- 为样式定义一个全局唯一的名字-->
<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/wu"
..... />
</LinearLayout>

上边来施行一下

在style.xml中添加下边包车型大巴代码:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.

        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

    <style name="text_content_style" parent="AppBaseTheme">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#66ff00</item>
        <item name="android:textSize">20sp</item>
    </style>

</resources>

布局代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />
    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />
    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />
    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />
    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />

</LinearLayout>

运营项目后

图片 1

Android 样式

android中的样式和CSS样式功效相似,都以用来为界面元素定义展现风格,它是3个含有2个要么多个view控件属性的汇聚。如:需求定义字体的颜色和尺寸。

在CSS中是那样定义的:

<style>
.wu{COLOR:#0000CC;font-size:18px;}
</style>

能够像那样使用方面包车型地铁css样式:<div
class=”wu”>wuyudong‘blog</div>

在Android中能够这么定义样式:

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

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name=“wu”> <!-- 为样式定义一个全局唯一的名字-->
<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/wu"
..... />
</LinearLayout>

上边来执行一下

在style.xml中添加上面包车型客车代码:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.

        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

    <style name="text_content_style" parent="AppBaseTheme">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#66ff00</item>
        <item name="android:textSize">20sp</item>
    </style>

</resources>

布局代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />
    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />
    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />
    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />
    <TextView
        style="@style/text_content_style"
        android:text="我是一个文本" />

</LinearLayout>

运小说种后

图片 2

 图片 3

Android 主题

android中主旨也是用以为运用定义彰显风格,它的概念和体裁的概念相同,如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name=“wuTheme">
<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/wuTheme">
......
</application>

而外能够在AndroidManifest.xml中设置主旨,同样也能够在代码中安装宗旨,如下:

setTheme(R.style.itcastTheme);

就算在概念上,样式和主旨基本相同,不过它们选择的地方区别。样式用在单独的View,如:艾德itText、TextView等;大旨通过AndroidManifest.xml中的<application>和<activity>用在一切应用可能有个别Activity,核心对整个应用或有个别Activity实行全局性影响。假使两个应用使用了大旨,同时利用下的view也接纳了体制,那么当宗旨和体裁属性发生争持时,样式的预先级高于大旨。

除此以外android系统也定义了有的主旨,例如:<activity
android:theme=“@android:style/Theme.Dialog”>,该宗旨能够让Activity看起来像三个对话框,还有透明宗旨:@android:style/Theme.Translucent
。假若需求查阅这几个焦点,能够在文书档案的referenceandroid–>PAJERO.style
中查看。

Android 主题

android中宗旨也是用以为使用定义呈现风格,它的定义和体裁的概念相同,如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name=“wuTheme">
<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/wuTheme">
......
</application>

除去能够在AndroidManifest.xml中安装核心,同样也能够在代码中装置主题,如下:

setTheme(R.style.itcastTheme);

即便在概念上,样式和主题基本相同,可是它们采用的地点分歧。样式用在单独的View,如:艾德itText、TextView等;大旨通过AndroidManifest.xml中的<application>和<activity>用在全路应用只怕有些Activity,大旨对全部应用或有个别Activity实行全局性影响。要是三个应用使用了主旨,同时选取下的view也接纳了体制,那么当核心和体裁属性爆发冲突时,样式的预先级高于主旨。

除此以外android系统也定义了有的大旨,例如:<activity
android:theme=“@android:style/Theme.Dialog”>,该大旨得以让Activity看起来像多少个会话框,还有透明大旨:@android:style/Theme.Translucent
。假使急需查阅这几个大旨,能够在文书档案的referenceandroid–>LX570.style
中查阅。

新建3个xml文件,任意命名例如style.xml:

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

    <style name="DavidStyleText1"> 
        <item name="android:textSize">18sp</item> 
        <item name="android:textColor">#EC9237</item> 
    </style>

    <style name="DavidStyleText2"> 
        <item name="android:textSize">14sp</item> 
        <item name="android:textColor">#FF7F7C</item> 
        <item name="android:fromAlpha">0.0</item> 
        <item name="android:toAlpha">0.0</item> 
    </style>

</resources>

每种style通过name属性分歧或调用,例如在main.xml中为多个textview分别添加那多少个样式:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:background="@drawable/white" 
  android:orientation="vertical" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  > 
  <!-- 套用樣式1的TextView --> 
  <TextView 

  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:gravity="center_vertical|center_horizontal" 
  android:text="@string/str_text_view1" 
  /> 
  <!-- 套用樣式2的TextView --> 
  <TextView 

  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:gravity="center_vertical|center_horizontal" 
  android:text="@string/str_text_view2" 
  /> 
</LinearLayout>

除此以外<style>成分中有1个parent属性。那些本性能够让眼下体制继承3个父样式,并且有所父样式的值。当然,若是父样式的值不适合您的须求,你也足以对它进行改动,如下: 

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
      <style name="subitcast" parent="@style/parentstyle"> 
        <item name="android:textColor">#FF0000</item> 
    </style> 
</resources>

有关theme,他的概念形式上与style一样,两者的分别在与行使地点不一致,theme针对任何应用或Activity

核心对全部应用或有些Activity实行全局性影响。假诺一个使用使用了主旨,同时利用下的view也运用了体制,那么当大旨和体制属性发生争持时,样式的事先级高于大旨。 
除此以外android系统也定义了部分核心,例如:<activity
android:theme=“@android:style/Theme.Dialog”>,该核心能够让Activity看起来像贰个会话框,还有透明主旨:@android:style/Theme.Translucent
。借使急需查阅这个主旨,能够在文书档案的referenceandroid–>汉兰达.style
中查看。 

<?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/myTheme”> 
   …… 
</application> 
除了能够在AndroidManifest.xml中设置主旨,同样也能够在代码中安装核心,如下: 
setTheme(R.style.myTheme); 
(结合传智资料整理)

相关文章