-
对于模式为MeasureSpec.AT_MOST时,自己测量的高度(或宽度)不能超过给定的值(即MeasureSpec.getSize(measureHeight)的值)
对于MeasureSpec.UNSPECIFIED,则就使用计算的结果即可
查看全部 -
设置高度是必须添加PaddingTop 和PaddingBottom
结果 = getPaddingTop() + getPaddingBottom() + 最大绘制高度;
最大绘制高度=Math.max(Math.max(mReachHeight, mUnReachHeight), Math.abs(textHeight));
查看全部 -
文字高度的计算textHeight = (int) (mPaint.descent() - mPaint.ascent());
//前提是mPaint.setTextSize(mTextSize);已经设置过了
查看全部 -
当计算的到的模式为UNSPECIFIED或AT_MOST时,则高度的结果只需要自己进行测量
查看全部 -
根据模式不同计算测量高度值、
当模式为MeasureSpec.EXACTLY (-> 精确的或使用matchParent)时,则结果就是测量的结果
查看全部 -
在View的onMeasure(int w,int h);方法中获取宽度和高度的宽度模式和宽度值,高度模式和高度值
查看全部 -
获取自定义属性的值
查看全部 -
获取自定义的属性通过getContext().obtainStyleAttributes(atts,
R.styleable.HorizontalProgressbarWithProgress);
//R.styleable.HorizontalProgressbarWithProgress为自定义的属性集名称
得到TypeArray 对象,并在用完TypeArray对象后及时释放资源,即调用TypeArray的recycle()方法
查看全部 -
控件的宽度-padding的宽度=真正可用于绘制的宽度
查看全部 -
sp到px的换算计算:
px = (int) TypedValue.applyDimension(Typed.Value,COMPLEX_UNIT_SP,spValue,getResource().getDisplayMetrics());
查看全部 -
dp到px的换算计算:
px = (int) TypedValue.applyDimension(Typed.Value,COMPLEX_UNIT_DIP,dpValue,getResource().getDisplayMetrics());
查看全部 -
在attrs.xml中声明自定义属性
查看全部 -
自定义属性的声明与获取
查看全部 -
分析需要自定义的属性
查看全部 -
继承自ProgressBar类,从而避免了状态的保存和恢复
查看全部
举报