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