attrs.xmlz

在res资源目录的values目录下创建一个attrs.xml的属性定义文件,并在该文件中通过如下代码定义相应的属性即可。

属性名,属性格式<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="instruction">
        <attr name="focusable" format="boolean" />
        <attr name="layout_width" format="dimension" />
        <attr name="pointX" format="float" />
        <attr name="rightTextColor" format="color" />
        <attr name="rightBackground" format="reference|color" />引用类型或者color型
        <attr name="pointY" format="integer" />
        <attr name="text" format="string" />
        <attr name="pivotX" format="fraction" />
    </declare-styleable>
    枚举值
    <declare-styleable name="enum">
        <attr name="myEnum">
            <enum name="horizontal" value="0" />
            <enum name="vertical" value="1" />
        </attr>
    </declare-styleable>
    位或运算
    <declare-styleable name="flag">
        <attr name="myFlag">
            <flag name="stateUnspecified" value="0" />
            <flag name="stateUnchanged" value="1" />
            <flag name="stateHidden" value="2" />
            <flag name="stateAlwaysHidden" value="3" />
            <flag name="stateVisible" value="4" />
            <flag name="stateAlwaysVisible" value="5" />
        </attr>
    </declare-styleable>
</resources>

  

使用方法:attr name名+类型

示范一:定义
<declare-styleable name = "color">
      <attr name = "background" format = "reference|color" />
</declare-styleable>
使用
<ImageView
        android:background = "@drawable/图片ID|#00FF00"  />  

示范二:
定义
<declare-styleable name="orient">
  <attr name="orientation">
     <enum name="horizontal" value="0" />
      <enum name="vertical" value="1" />
   </attr>
</declare-styleable>  

使用<LinearLayout    android:orientation = "horizontal"  />  

示范三:定义<declare-styleable name="name">  <attr name="windowSoftInputMode">    <flag name="stateUnspecified" value="0" />    <flag name="stateUnchanged" value="1" />    <flag name="stateHidden" value="2" />  </attr></declare-styleable>使用<activity  andriod:windowsSotfInputMode = "stateUpspecified | stateUnchanged"/>

  

时间: 2024-10-25 07:16:00

attrs.xmlz的相关文章

关于Android attrs 自定义属性的说明

写个自定义控件时经常要自定义一些自己的属性,平时用的都是那几个,今天就顺便一起总结一下这个东东吧- 一.定义:属性的定义都在attrs.xml文件里面: 二.读取:通过都是通过TypedArray去读取的,要获取TypedArray都是通过context.obtainStyledAttributes去获取的,它有几个重载方法,一般形如: TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.Custom

angular attrs.$observe和$scope.$watch的区别

http://stackoverflow.com/questions/14876112/difference-between-the-observe-and-watch-methods https://docs.angularjs.org/api/ng/type/$compile.directive.Attributes $observe()是Attributes 对象的一个方法,它只能用于observe/watch一个DOM attribute的value change.它只在directiv

从源码中浅析Android中如何利用attrs和styles定义控件

一直有个问题就是,Android中是如何通过布局文件,就能实现控件效果的不同呢?比如在布局文件中,我设置了一个TextView,给它设置了textColor,它就能够改变这个TextView的文本的颜色.这是如何做到的呢?我们分3个部分来看这个问题1.attrs.xml  2.styles.xml  3.看组件的源码. 1.attrs.xml: 我们知道Android的源码中有attrs.xml这个文件,这个文件实际上定义了所有的控件的属性,就是我们在布局文件中设置的各类属性 你可以找到attr

android 自己定义控件属性(TypedArray以及attrs解释)

近期在捣鼓android 自己定义控件属性,学到了TypedArray以及attrs.在这当中看了一篇大神博客Android 深入理解Android中的自己定义属性.我就更加深入学习力一番.我就沿着这个学习,讲一下流程吧,兴许一篇还有应用. 1.attrs文件编写 <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="titleText" for

继承ViewGroup自定义View:步骤、attrs.xml、TypedArray

时间:2015年12月22日19:01:46 自定义View的实现步骤: 1.写一个自定义控件类,这个类就是你的自定义控件的实现. 2.在res/values目录下建立一个attrs.xml的文件,在这个文件中增加对控件的自定义属性的定义. 3.使用带AttributeSet参数的类的构造函数,并在构造函数中将自定义控件类中变量与attrs.xml中的属性连接起来. 4.在自定义控件类中使用这些已经连接的属性变量. 5.将自定义的控件类定义到布局用的xml文件中去. 6.在界面中生成此自定义控件

[转]Android中attrs.xml文件的使用详解

转自:http://blog.csdn.net/jiangwei0910410003/article/details/17006087 Android中在values中定义一个attrs.xml,然后自己定义一个组件MyView attrs.xml内容如下: [html] view plaincopy <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleabl

How to watch property in attrs of directive

Q: I have a controller that has a counter that changes from time to time. That counter is tied to an attribute of a directive and read inside the link function of that directive. How can I have a directive run a function each time that attr value cha

Odoo attrs X2many 类型的过滤

有童鞋在群里问到 attrs 中的 many2many类型的字段该如何进行domain过滤,其实非常简单: Many2many的字段在js中获取的值的格式为[[6,false,[]]] 所以attrs中的many2many的判断可以写为以下格式: attrs="{'invisible': [('category_id', '=', [[6, False, []]])]}". Many2many的各个涵义如下图: domain的计算在view_form.js的compute_domain

android 自定义控件属性(TypedArray以及attrs解释)

最近在捣鼓android 自定义控件属性,学到了TypedArray以及attrs.在这其中看了一篇大神博客Android 深入理解Android中的自定义属性.我就更加深入学习力一番.我就沿着这个学习,讲一下流程吧,后续一篇还有应用. 1.attrs文件编写 <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="titleText" forma