Style个人理解就是view的一些属性的集合,那么一系列view(例如TextVIew),只要是要该style那么就都有相同的内容,如 文字的大少,颜色等,方便修改

首先最基本的使用,多个textView都显示一样的颜色 跟文字大少等属性

Sytle的定义:

  1. <style  name="TextViewStyle1">
  2. <item name="android:textColor">@android:color/holo_red_light</item>
  3. <item name="android:textSize">40sp</item>
  4. <item name="android:layout_height">wrap_content</item>
  5. <item name="android:layout_width">200dp</item>
  6. <item name="android:background">#ffff00ff</item>
  7. <item name="android:gravity">center_horizontal</item>
  8. </style>

这些属性都熟悉,使用

  1. <TextView
  2. style="@style/TextViewStyle1"
  3. android:layout_marginTop="100dp"
  4. android:text="test1"/>
  5. <TextView
  6. style="@style/TextViewStyle1"
  7. android:layout_marginTop="200dp"
  8. android:text="test2"/>
  9. <TextView
  10. style="@style/TextViewStyle1"
  11. android:layout_marginTop="300dp"
  12. android:text="test3"/>
  13. <TextView
  14. style="@style/TextViewStyle1"
  15. android:layout_marginTop="400dp"
  16. android:text="test4"/>
  1. 那么结果就是<img src="http://img.blog.csdn.net/20140913101147703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGV3ZW5jZTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
  1. 那么我们在<TextView 中使用了Style 而且使用了与style中相冲突会早呢么样呢?
  1. 修改第一个textView的背景跟颜色:
  1. <pre name="code" class="html"><TextView
  2. style="@style/TextViewStyle1"
  3. android:layout_marginTop="100dp"
  4. android:gravity="center_horizontal"
  5. android:background="#ff00ff00"
  6. android:textColor="#ffffffff"
  7. android:text="test1"/>

那么结果就是

  1. 由此可以见,相关view的属性包括style中的所有的属性,view中自己还定义了的就使用view字定义的
  1. style中的属性,在view中没有作用的会自动忽略掉

2.style的继承

1.加上parent

<style name="TextViewStyle2" parent="@style/TextViewStyle1">
        <item name="android:layout_width">400dp</item>
    </style>

2.加点

<style name="TextViewStyle1.test">
        <item name="android:layout_width">800dp</item>
    </style>

还可以多继承:

<style name="TextViewStyle1.test.test">
        <item name="android:layout_width">1200dp</item>
    </style>

那么布局文件改成:

  1. <TextView
  2. style="@style/TextViewStyle1"
  3. android:layout_marginTop="100dp"
  4. android:gravity="center_horizontal"
  5. android:background="#ff00ff00"
  6. android:textColor="#ffffffff"
  7. android:text="test1"/>
  8. <TextView
  9. style="@style/TextViewStyle1.test.test"
  10. android:layout_marginTop="200dp"
  11. android:text="test2"/>
  12. <TextView
  13. style="@style/TextViewStyle2"
  14. android:layout_marginTop="300dp"
  15. android:text="test3"/>
  16. <TextView
  17. style="@style/TextViewStyle1.test"
  18. android:layout_marginTop="400dp"
  19. android:text="test4"/>

输出结果如下:

sytle的更多属性见android包下的R.attr,这些都是系统的哦!

使用Theme,这个就猛了,改了以后会影响真个程序的显示:

系统默认有:

  1. <application
  2. android:allowBackup="true"
  3. android:icon="@drawable/ic_launcher"
  4. android:label="@string/app_name"
  5. android:theme="@style/AppTheme" >

我先把

  1. AppTheme修改一下吧:
  1. 加入二个元素:<pre name="code" class="html"> <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
  2. <!-- API 14 theme customizations can go here. -->
  3. <strong><item name="android:textSize">60sp</item>
  4. <item name="android:typeface">monospace</item></strong>
  5. </style>

那么系统所有的文字的大少都是60sp,字体使用monospace(除非你们的View重新定义了)

更多的系统style可以在:

sdk\platforms\andrid-$API\data\res\themes.xm   styles.xml

2.自定义属性的使用

其实我们在style.xml中使用自定义属性的话,不需要写自定义控件的命名空间,我们只需要在style中使用命名控件的地方换成自定义控件的包名即可(注意:是包名,不带自定义控件的名字),如下:

    1. <resources xmlns:android="http://schemas.android.com/apk/res/android" >
    2. <style name="test" >
    3. <item name="android:textSize">60sp</item>
    4. <item name="com.zhufuing:name_text">hello,world!</item>
    5. </style>
    6. </resources>

Android的Style的使用的更多相关文章

  1. Android 样式 (style) 和主题(theme)

    转载:https://gold.xitu.io/post/58441c48c59e0d0056a30bc2 样式和主题 样式是指为 View 或窗口指定外观和格式的属性集合.样式可以指定高度.填充.字 ...

  2. android的style控制Theme

    value-v14就是在API14(4.0)的手机上所使用的Theme(其他版本以此类推) theme的名字叫做AppTheme,后面写有继承自哪个Theme,如下所示 <style name= ...

  3. Android:Style和Theme

    在Web开发中,Html负责内容,CSS负责表现.同样,在Android开发中,可以使用Theme.Style+UI组件的方式实现内容和形式的分离. Style是针对窗体元素级别的,改变指定控件或者L ...

  4. Android中Style和Theme的使用

    Style: Style是View中一些属性的集合,包括height,padding,font color,background等等,Style单独定义在xml文件中,类似与web页面中css的角色, ...

  5. Android中style和theme的区别

    在学习Xamarin android的过程中,最先开始学习的还是熟练掌握android的六大布局-LinearLayout .RelativeLayout.TableLayout.FrameLayou ...

  6. Android样式(style)和主题(theme)

    样式和主题 样式是指为 View 或窗口指定外观和格式的属性集合.样式可以指定高度.填充.字体颜色.字号.背景色等许多属性. 样式是在与指定布局的 XML 不同的 XML 资源中进行定义. Andro ...

  7. ReactNative中iOS和Android的style分开设置教程

    reactnative可以编辑iOS程序也可以编辑Android程序, 而且80%的代码都可以重用. 及有些文件是两个系统通用的, 相信大家也都清楚了. 但是也许大家会遇到一些屏幕布局的问题, 最常遇 ...

  8. android 自定义Style初探---ProgressBar

    系统自带的ProgressBar太丑了,所以我决定自定义一个Style. 原来的Style <?xml version="1.0" encoding="utf-8& ...

  9. 使用Eclipse为Android定义style

    1.首先,在values目录下,新建一个styles.xml文件: 2.进入styles.xml文件,点击Resources: 3.点击Add按钮,在弹出的对话框中选择在顶层创建新元素,在选择Styl ...

随机推荐

  1. 使用 Canvas 和 JavaScript 创建逼真的下雨效果

    HTML5 规范引进了很多新特性,其中最令人期待的之一就是 Canvas 元素,HTML5 Canvas 提供了通过 JavaScript 绘制图形的方法,非常强大.这里向大家展示一个使用 Canva ...

  2. Windows Azure 上传 VM

    One of the great features of Windows Azure is VHD mobility. Simply put it means you can upload and d ...

  3. 用R语言分析我的fitbit计步数据

    目标:把fitbit的每日运动记录导入到R语言中进行分析,画出统计图表来 已有原始数据:fitbit2014年每日的记录电子表格文件,全部数据点此下载,示例如下: 日期 消耗卡路里数 步 距离 攀爬楼 ...

  4. 为什么Android应该根据屏幕分辨率来加载不同的图片文件

    1.图片在xxhdpi,手机是hdpi的 我们有一个手机是hdpi的.我们还有一个图片,我们把他放在xxhdpi下.当手机显示的时候,系统会去hdpi中找,发现没有图片,最终在xxhpi中找到.终于找 ...

  5. NDK、SDK以及JNI的关系

    最近由于项目的需要,使用到了Android的NDK技术,对项目核心算法跨平台的移植.简答而言,就是使用C对原来的算法进行了改进,并集成到原 来的app项目里. 从前的项目一直没有使用NDK进行开发的机 ...

  6. OC数组常见操作

    // 数组存放的内容必须是NSObject对象,数组中存放的内容是有序的 // 数组打印输出在输出台是用()包括起来的 // NSArray 不可变数组 // 1.创建对象 // 初始化方法 NSAr ...

  7. iOS设计模式 - 单例

    备注:只能通过类的类方法才能创建单例类的实例,[[类名 alloc]init]创建实例没有用的. 原理图 说明 1. 单例模式人人用过,严格的单例模式很少有人用过 2. 严格的单例模式指的是无法通过常 ...

  8. android 进程/线程管理(二)----关于线程的迷思

    一:进程和线程的由来 进程是计算机科技发展的过程的产物. 最早计算机发明出来,是为了解决数学计算而发明的.每解决一个问题,就要打纸带,也就是打点. 后来人们发现可以批量的设置命令,由计算机读取这些命令 ...

  9. Android开源项目汇总【转】

    主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView ...

  10. Effective Java 58 Use checked exceptions for recoverable conditions and runtime exceptions for programming errors

    Three kinds of throwables Throwables Checked Recoverable checked exceptions Y Y runtime exceptions N ...