自定义view 使用 TypedArray 获取不到配置的原因

版权声明:本文首发于我的个人博客: www.geekqian.com https://blog.csdn.net/geekqian/article/details/80846670

自定义类中有 3 个构造方法;

public CustomView(Context context){}
public CustomView(Context context, @Nullable AttributeSet attrs){}
public CustomView(Context context, @Nullable AttributeSet attrs, int defStyleAttr){}

在 xml 文件中引用时, 走的是第二个构造方法. 所以应该在第二个构造中使用, 才能正常的获取到配置:

TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.CustomView);
Drawable background = typedArray.getDrawable(R.styleable.CustomView_background);
展开阅读全文

没有更多推荐了,返回首页