首先说如何获取已经在style里面定义好的attr的值,以colorPrimary为例:
TypedValue value = new TypedValue(); mContext.getTheme().resolveAttribute(R.attr.colorPrimary,value,true);
value.data里面存储着的就是获取到的colorPrimary的值了。
其二,说一说如何获取自定义属性的值,这个在网上都传烂了,随便找段代码来贴上吧:
public MyView(Context context,AttributeSet attrs) { super(context,attrs); mPaint = new Paint(); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyView); int textColor = a.getColor(R.styleable.MyView_textColor, 0XFFFFFFFF); float textSize = a.getDimension(R.styleable.MyView_textSize, 36); mPaint.setTextSize(textSize); mPaint.setColor(textColor); a.recycle(); }
时间: 2024-10-09 08:09:22