说到Style样式在,HTML+Javascript+CSS中,CSS就是样式,样式可以把很多通用到效果,统一为一个样式,达到通用的目的,也可以让代码更加简洁。

什么时候用Style样式 ?

例如:Android APP中到标题栏都是一个风格的,这个时候就可以定义标题的样式,所有的标题样式风格就通用了,而且维护很方便,修改样式文件,就全部都修改了

     总之:很多控件都有重复都风格的时候,就可以使用Style样式的抽取;


实现这个效果:

不使用样式,就会有很多重复代码,不利于维护和管理,例如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
android:text="111"
/> <TextView
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
android:text="222"
/> <TextView
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
android:text="333"
/> <TextView
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
android:text="444"
/> </LinearLayout>

使用样式的优点是,重复代码被抽取,有利于维护:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
style="@style/MyTextView"
android:text="111"
/> <TextView
style="@style/MyTextView"
android:text="222"
/> <TextView
style="@style/MyTextView"
android:text="333"
/> <TextView
style="@style/MyTextView"
android:text="444"
/> </LinearLayout>

Styles.xml

<resources>

    <style name="MyTextView">

        <!--
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
--> <item name="android:layout_width">140dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@android:color/black</item>
<item name="android:textSize">22dp</item>
<item name="android:background">@color/colorAccent</item>
<item name="android:gravity">center</item>
<item name="android:layout_marginTop">20dp</item> </style> </resources>

使用样式的优点是,重复代码被抽取,有利于维护,样式还有一个功能,是可以继承:

最后一个TextView控件使用的样式是:style="@style/MyTextView_update"

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
style="@style/MyTextView"
android:text="111"
/> <TextView
style="@style/MyTextView"
android:text="222"
/> <TextView
style="@style/MyTextView"
android:text="333"
/> <TextView
style="@style/MyTextView"
android:text="444"
/> <TextView
style="@style/MyTextView_update"
android:text="555_update"
/> </LinearLayout>

Styles.xml,升级操作 <style name="MyTextView_update" parent="MyTextView">

<resources>

    <style name="MyTextView">

        <item name="android:layout_width">140dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@android:color/black</item>
<item name="android:textSize">22dp</item>
<item name="android:background">@color/colorAccent</item>
<item name="android:gravity">center</item>
<item name="android:layout_marginTop">20dp</item> </style> <style name="MyTextView_update" parent="MyTextView"> <item name="android:layout_marginLeft">20dp</item> </style> </resources>

最后一个TextVIew距离左边20dp,是升级后的样式

样式不仅可以继承自己写的样式,继承别人写的样式,还可以继承系统写的样式,都是可以的

Android-Style样式的更多相关文章

  1. 20.(转)Android的样式(Style)和主题(Theme)

    Android上的Style分为了两个方面: 1,Theme是针对窗体级别的,改变窗体样式: 2,Style是针对窗体元素级别的,改变指定控件或者Layout的样式. Android系统的themes ...

  2. Android系统自带样式(@android:style/) (转)

    摘自:http://blog.csdn.net/hongya1109110121/article/details/11985545 在AndroidManifest.xml文件的activity中配置 ...

  3. Android系统自带样式(@android:style/)

    在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...

  4. (转)Android系统自带Activity样式(@android:style/)

    在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...

  5. (转)Android系统自带样式(@android:style/)

    在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...

  6. android自定义样式大全:shape,selector,layer-list,style,动画全部内容

    原文:http://keeganlee.me/post/android/20150830 以下摘取了部分内容: shape 一般用shape定义的xml文件存放在drawable目录下,若项目没有该目 ...

  7. Android 基础一 TextView,Style样式,Activity 传值,选择CheckBox 显示密码

    1.修改TextView字体 mTextView = (TextView) findViewById(R.id.textview1); mTextView.setText("I am her ...

  8. Android系统自带样式(@android:style/) (转)

    1 android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" 布局页面最上面 不会显示  and ...

  9. android的样式(style)与主题(theme)

    Android上的Style分为了两个方面: 1,Theme是针对窗体级别的,改变窗体样式: 2,Style是针对窗体元素级别的,改变指定控件或者Layout的样式. Android系统的themes ...

  10. ArcGIS Runtime SDK for Android中SimpleFillSymbol.Style样式

    SimpleFillSymbol.Style样式枚举共8种: 1.BACKWARD_DIAGONAL 反对角线填充 2.CROSS 交叉线填充 3.DIAGONAL_CROSS 前后对角线填充 4.F ...

随机推荐

  1. 流程管理软件(BPM)功能简介

    易协流程管理系统实现将人为控制的业务活动,通过信息化手段实现系统控制,降低人为控制管理的风险以及促进企业的各项决策方针的顺利实施. 系统目标: 实现管理的规范化.制度化.程序化: 帮助企业将内控制度流 ...

  2. MyBatis 学习记录4 MyBatis的一级缓存

    主题 分享记录一下MyBatis的一级缓存相关的学习. Demo public static void firstLevelCache() { init("mybatis-config.xm ...

  3. 动态修改datagrid中的numberbox的最大值和最小值

    注意datagrid使用的触发函数是: onBeginEdit,只有在这个触发条件下,editor才真正初始化完成,不然没法动态修改numberbox中的最大最小值. 示例代码:(注意这一块:onBe ...

  4. ZTree 获取选中的项,jQuery radio的取值与赋值

    $("input[name='Sex']:checked").val();//取值 $("input[name='radioName'][value=2]"). ...

  5. struts2 action重定向action中文乱码处理

    比如:Action方法productCategorySave()变量message,传递给Action方法productCategoryAdd(),当变量message为中文变量时,要进行编码设置,不 ...

  6. bugfree调试

    最近项目用到bugfree  ,一直不能用,原来是session目录的文件权限有问题.

  7. What is _MainTex_ST ?

    [What is _MainTex_ST ?] 在Unity自带的Unlit/Texture中,有引用到float4 _MainTex_ST,如下: // Unlit shader. Simplest ...

  8. 不要在遍历子结点时修改parent

    [不要在遍历子结点时修改parent] 在用for/foreach遍历子结点时,如果在这过程中有改变子结点的parent,会导致不可预料的结果.我所遇到的问题是,在此种情况下,并非所有的子结点都能遍历 ...

  9. kali linux: 网卡监听及扫描网络

    一.网卡监听: kali不支持内置网卡,仅仅支持usb网卡.我用的虚拟机.首先在虚拟机的可移动设备里打开usb网卡的连接,执行ifconfig命令,如下: eth0接口是本地有线网卡信息,lo接口是本 ...

  10. 【LA2238 训练指南】固定分区内存管理 【二分图最佳完美匹配,费用流】

    题意 早期的多程序操作系统常把所有的可用内存划分为一些大小固定的区域,不同的区域一般大小不同,而所有区域的大小之和为可用内存的大小.给定一些程序,操作系统需要给每个程序分配一个区域,使得他们可以同时执 ...