attrs.xml自定义属性学习笔记(自定义View2)

1. reference:参考某一资源ID。
    (1)属性定义:

  1. <declare-styleable name = "名称">
  2. <attr name = "background" format = "reference" />
  3. </declare-styleable>

(2)属性使用:

  1. <ImageView
  2. android:layout_width = "42dip"
  3. android:layout_height = "42dip"
  4. android:background = "@drawable/图片ID"
  5. />

2. color:颜色值。
    (1)属性定义:

  1. <declare-styleable name = "名称">
  2. <attr name = "textColor" format = "color" />
  3. </declare-styleable>

(2)属性使用:

  1. <TextView
  2. android:layout_width = "42dip"
  3. android:layout_height = "42dip"
  4. android:textColor = "#00FF00"
  5. />

3. boolean:布尔值。
    (1)属性定义:

  1. <declare-styleable name = "名称">
  2. <attr name = "focusable" format = "boolean" />
  3. </declare-styleable>

(2)属性使用:

  1. <Button
  2. android:layout_width = "42dip"
  3. android:layout_height = "42dip"
  4. android:focusable = "true"/>

4. dimension:尺寸值。
     (1)属性定义:

  1. <declare-styleable name = "名称">
  2. <attr name = "layout_width" format = "dimension" />
  3. </declare-styleable>

(2)属性使用:

view plain copy

  1. <Button
  2. android:layout_width = "42dip"
  3. android:layout_height = "42dip"
  4. />

5. float:浮点值。
    (1)属性定义:

  1. <declare-styleable name = "AlphaAnimation">
  2. <attr name = "fromAlpha" format = "float" />
  3. <attr name = "toAlpha" format = "float" />
  4. </declare-styleable>

(2)属性使用:

  1. <alpha
  2. android:fromAlpha = "1.0"
  3. android:toAlpha = "0.7"
  4. />

6. integer:整型值。
    (1)属性定义:

  1. <declare-styleable name = "AnimatedRotateDrawable">
  2. <attr name = "visible" />
  3. <attr name = "frameDuration" format="integer" />
  4. <attr name = "framesCount" format="integer" />
  5. <attr name = "pivotX" />
  6. <attr name = "pivotY" />
  7. <attr name = "drawable" />
  8. </declare-styleable>

(2)属性使用:

  1. <animated-rotate
  2. xmlns:android = "http://schemas.android.com/apk/res/android"
  3. android:drawable = "@drawable/图片ID"
  4. android:pivotX = "50%"
  5. android:pivotY = "50%"
  6. android:framesCount = "12"
  7. android:frameDuration = "100"
  8. />

7. string:字符串。
    (1)属性定义:

<declare-styleable name = "MapView">

  1. <attr name = "apiKey" format = "string" />
  2. </declare-styleable>

(2)属性使用:

  1. <com.google.android.maps.MapView
  2. android:layout_width = "match_parent"
  3. android:layout_height = "match_parent"
  4. android:apiKey = "0jOkQ80oD1JL9C6HAja99uGXCRiS2CGjKO_bc_g"
  5. />

8. fraction:百分数。
     (1)属性定义:

  1. <declare-styleable name="RotateDrawable">
  2. <attr name = "visible" />
  3. <attr name = "fromDegrees" format = "float" />
  4. <attr name = "toDegrees" format = "float" />
  5. <attr name = "pivotX" format = "fraction" />
  6. <attr name = "pivotY" format = "fraction" />
  7. <attr name = "drawable" />
  8. </declare-styleable>

(2)属性使用:

  1. <rotate
  2. xmlns:android = "http://schemas.android.com/apk/res/android"
  3.              android:interpolator = "@anim/动画ID"
  4. android:fromDegrees = "0"
  5.              android:toDegrees = "360"
  6. android:pivotX = "200%"
  7. android:pivotY = "300%"
  8.              android:duration = "5000"
  9. android:repeatMode = "restart"
  10. android:repeatCount = "infinite"
  11. />

9. enum:枚举值。
    (1)属性定义:

  1. <declare-styleable name="名称">
  2. <attr name="orientation">
  3. <enum name="horizontal" value="0" />
  4. <enum name="vertical" value="1" />
  5. </attr>
  6. </declare-styleable>

(2)属性使用:

  1. <LinearLayout
  2. xmlns:android = "http://schemas.android.com/apk/res/android"
  3. android:orientation = "vertical"
  4. android:layout_width = "match_parent"
  5. android:layout_height = "match_parent"
  6. >
  7. </LinearLayout>

10. flag:位或运算。
     (1)属性定义:

  1. <declare-styleable name="名称">
  2. <attr name="windowSoftInputMode">
  3. <flag name = "stateUnspecified" value = "0" />
  4. <flag name = "stateUnchanged" value = "1" />
  5. <flag name = "stateHidden" value = "2" />
  6. <flag name = "stateAlwaysHidden" value = "3" />
  7. <flag name = "stateVisible" value = "4" />
  8. <flag name = "stateAlwaysVisible" value = "5" />
  9. <flag name = "adjustUnspecified" value = "0x00" />
  10. <flag name = "adjustResize" value = "0x10" />
  11. <flag name = "adjustPan" value = "0x20" />
  12. <flag name = "adjustNothing" value = "0x30" />
  13. </attr>
  14. lt;/declare-styleable>

(2)属性使用:

  1. <activity
  2. android:name = ".StyleAndThemeActivity"
  3. android:label = "@string/app_name"
  4. android:windowSoftInputMode = "stateUnspecified | stateUnchanged | stateHidden">
  5. <intent-filter>
  6. <action android:name = "android.intent.action.MAIN" />
  7. <category android:name = "android.intent.category.LAUNCHER" />
  8. </intent-filter>
  9. </activity>

属性定义时可以指定多种类型值。
    (1)属性定义:

  1. <declare-styleable name = "名称">
  2. <attr name = "background" format = "reference|color" />
  3. </declare-styleable>

(2)属性使用:

  1. <ImageView
  2. android:layout_width = "42dip"
  3. android:layout_height = "42dip"
  4. android:background = "@drawable/图片ID|#00FF00"
  5. />
时间: 2024-10-15 00:59:36

attrs.xml自定义属性学习笔记(自定义View2)的相关文章

StyleCop学习笔记——自定义规则

本文将简单的一步一步的指导这可能有助于学习如何创建自己的规则 1.创建一个项目. Visual Studio创建一个新的类库项目.NET3.5 2.引用两个DLL,StyleCop.dll和StyleCop.Csharp.dll. 3.添加自定义的规则. MyCustomAnalyzer.cs代码如下: using StyleCop; using StyleCop.CSharp; namespace MyCustomRules { /// <summary> /// Custom analyz

PHP操作XML文件学习笔记

原文:PHP操作XML文件学习笔记 XML文件属于标签语言,可以通过自定义标签存储数据,其主要作用也是作为存储数据. 对于XML的操作包括遍历,生成,修改,删除等其他类似的操作.PHP对于XML的操作方式很多,这次学习的是通过DOMDocument进行操作,其他的操作方法可以参考 http://www.oschina.net/code/snippet_110138_4727 1.对XML文件的遍历 通过DOMDocument对于XML文件的操作的方法:首先要实例化一个DOMDocument类的对

MySQL学习笔记-自定义函数

MySQL学习笔记-自定义函数 1.自定义函数简介 自定义函数:用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同 自定义函数的两个必要条件:(1)参数  (2)返回值 自定义函数: 创建自定义函数 CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body 关于函数体: 1.函数体可以由合法的SQL语句构成: 2.函数体可以是

XML之学习笔记

参考:http://www.w3school.com.cn/xml/index.asp中的 树结构.语法.元素.属性.验证.命名空间.编码 目的:理解Android开发中的.xml文件是怎样的 XML代码均摘自ADT(Android Development Tools),讲述如有谬误,敬请指正. XML规定:区分大小写.必须有根元素.标签打开了就要关闭 一.元素 开始标签到结束标签的部分,特定类型的一个事物 <.../>不允许有子元素, 即叶节点 <...>...<.../&

MySQL学习笔记—自定义函数

MySQL学习笔记-自定义函数 注释语法: MySQL服务器支持3种注释风格: 从'#'字符从行尾. 从'– '序列到行尾.请注意'– '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格.tab.换行符等等).该语法与标准SQL注释语法稍有不同. 从/序列到后面的/序列.结束序列不一定在同一行中,因此该语法允许注释跨越多行. 下面的例子显示了3种风格的注释: mysql> SELECT 1+1; # This comment continues to the end of li

Android开发学习笔记-自定义组合控件的过程

自定义组合控件的过程 1.自定义一个View 一般来说,继承相对布局,或者线性布局 ViewGroup:2.实现父类的构造方法.一般来说,需要在构造方法里初始化自定义的布局文件:3.根据一些需要或者需求,定义一些API方法: ----------------------------------4.根据需要,自定义控件的属性,可以参照TextView属性: 5.自定义命名空间,例如: xmlns:itheima="http://schemas.android.com/apk/res/<包名&

xml基础学习笔记03

继续上篇xml学习笔记,坚持.坚持.再坚持啊.... 本篇主要记录: 35.XML节点的删除与修改 36集.用XML制作RSS订阅源 1 <?php 2 3 /* 4 笔记: 5 35.XML节点的删除与修改 6 使用的xml文件是这样的 7 <?xml version='1.0' encoding='utf-8' ?> 8 <bookstore> 9 <book> 10 <title>路遥-平凡的世界</title> 11 <pri

java学习笔记—自定义标签1(39)

在实际的开发中,如为了简化JSP中出现大量的JSP脚本,那么我们需要使用标准标签库和EL表达式,但是和新标签库中提供的标签是有限的,不可能完全满足开发的需要.如:分页.因此需要学习如何自定义自己的标签库. 如果要实现自定义标签,那么需要如下几步: 编写标签处理类 需要继承或者实现相关的类或者接口 编写标签描述文件 该文件是一个XML文件,而且必须放在网站的WEB-INF目录中 在JSP中引入标签且使用 使用taglib指令引入标签库,随后使用. 自定标签的类体系 详细了解下一下几个类和接口: -

XML的学习笔记(一)————基本语法和规范

题外:为什么我要学XML呢?因为发现ROS系统里面有好多程序,是XML的,当然,我看不到,所以就来补补课,因为暂时只要求能看懂,或能简单写几行,所以,记述的也就不是太详细了. 如何识别XML? 可以先介绍XML的一些简单的规则,XML本身就是一个文本文件,XML是通过标记来描述文件的,比如: <user> </user> "user"这两个就是标记,注意标记有开头就有结尾,结尾就是在开头的前面加一个"/". 可以描述其更描述的信息,比如想描述