Android_自定义属性

自定义属性

1 自定义属性的基本步骤

      a 自定义一个CustomView继承View

      b 在valus下编辑 或 创建 attrs.xml例如:


     其中resource是跟标签,可以在里面定义若干个declare-styleable,中name定义了变量的名称,下面可以再自定义多个属性,针对来说,其属        性的名称为"text",format指定了该属性类型为string,只能表示字体的大小。

     format还可以指定其他的类型比如;

     reference   表示引用,参考某一资源ID

    string   表示字符串

    color   表示颜色值

   dimension   表示尺寸值

   boolean   表示布尔值

   integer   表示整型值

   float   表示浮点值

   fraction   表示百分数

   enum   表示枚举值

   flag   表示位运算

c在布局文件中CustomView使用自定义的属性(注意namespace)

d 在CustomView的构造方法中通过TypedArray获取

     TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.test);

     test_mytextview = typedArray.getString(R.styleable.test_mytextview);

    int test_mytest = typedArray.getInteger(R.styleable.test_mytest, -1);

     Log.e("test", "test_mytextview = " + test_mytextview + " , test_mytest = " + test_mytest);

    typedArray.recycle();

2 深入了解自定义属性(AttributeSet)

public MyTextView(Context context, AttributeSet attrs) {

super(context, attrs);

}

构造方法中AttributeSet 也能获取自定义属性的 值  下面方法可以获取出 xml中所有的key value

int attributeCount = attrs.getAttributeCount();

for(int i = 0;i

String attributeName = attrs.getAttributeName(i);

String attributeValue = attrs.getAttributeValue(i);

Log.e("test", "attributeName = " + attributeName + " , attributeValue = " + attributeValue);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 自定义view的时候,有时需要用到自定义属性,方便我们定制View。一般来说,自定义属性过程如下: 定义属性:在v...
    Clement_wu阅读 5,486评论 0 3
  • 写在前面:之前这篇文章发表在我的CSDN博客中, 由于CSDN博客使用过于繁琐 ,趁着这段时间没啥事情可做(又要开...
    水中沚_b078阅读 12,035评论 4 11
  • 自定义属性一般包括如下四步: 1.在values/attrs.xml文件中编写styleable和attr等标签;...
    墨革阅读 3,073评论 0 1
  • 一个Android开发者总会遇到自定义控件的问题。要学会自定义控件的开发,最好的方法是将要用到的知识点一个个掌握。...
    AxeChen阅读 12,610评论 3 16
  • 今天早早地过来写字。因为明天就要考高法了,还没有复习,过来写写字,给自己一点斗志。今天还有一个好消息,我的专四补考...
    3899387d4f37阅读 3,465评论 0 1