美文网首页
2018-01-10

2018-01-10

作者: zhenghaozhao | 来源:发表于2018-01-10 20:15 被阅读0次

    自定义View的构造函数使用场景

    1.构造函数

    就行

    2.调用时机:

    (1)  MyView(Context context)

    代码中动态创建MyView时候调用

     MyView myView = new MyView(this);

    (2) MyView(Context context, @Nullable AttributeSet attrs)

    xml文件中添加MyView时候调用,第二个参数是xml自定义attrs属性,

    (调用实例)

    //TypeArray 存放attrs中获取的属性数组;属性使用:styleable名称+“_”+属性名称

    TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.MyView);

    int textColor = array.getColor(R.styleable.MyView_textColor, 0XFF00FF00);

    array.recycle(); //调用recycle()函数,否则对下次使用有影响

    (3) MyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr)

    (4)MyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes)

    defStyleAttr:主题中优先级最高的属性

    defStyleRes:优先级次之的内置于View的style

    主题的优先级:

    xml直接定义>xml中style引用>defStyleAttr>defStyleRes>theme直接定义

    3.写法

    为了避免不确定的构造函数创建,需要写多个初始化的问题,使用this进行关联,这样只需要创建一个初始化view就行

    相关文章

      网友评论

          本文标题:2018-01-10

          本文链接:https://www.haomeiwen.com/subject/tuionxtx.html