View的四个构造器

public View(Context context)

  • 主要是在java代码中声明一个View时所用,不过如果只用第一个构造函数,声明的View并没有任何的参数,基本是个空的View对象。

public View(Context context, @Nullable AttributeSet attrs)

  • 当我们自定义一个View,且在布局文件中引用时,在系统初始化该View时,调用的是第二个构造函数,参数attrs是我们在xml中配置的参数

 

public View(Context context, @Nullable AttributeSet attrs, int defStyleAttr)

public View(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes)

总结:

在View类中有四个构造函数,涉及到多个参数,

Context:上下文,这个不用多说

AttributeSet attrs: 从xml中定义的参数

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

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

在android中的属性可以在多个地方进行赋值,涉及到的优先级排序为:

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

总体来说,本文是对android中View的四个构造函数的探究,主要涉及到View属性的优先级问题,希望大家发现问题或不足时及时跟我联系。
————————————————
版权声明:本文为CSDN博主「学渣的第六感」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhao123h/article/details/52210732

posted @ 2019-11-23 09:57  小#安  阅读(247)  评论(0编辑  收藏  举报