@Override
protected void onSizeChanged(int w, int h, int oldW, int oldH) {
// use smaller dimension for calculations (depends on parent size)
int smallerDim = w > h ? h : w;
// find circle's rectangle points
int largestCenteredSquareLeft = (w - smallerDim) / 2;
int largestCenteredSquareTop = (h - smallerDim) / 2;
int largestCenteredSquareRight = largestCenteredSquareLeft + smallerDim;
int largestCenteredSquareBottom = largestCenteredSquareTop + smallerDim;
// save circle coordinates and radius in fields
mCircleCenterX = largestCenteredSquareRight / 2 + (w - largestCenteredSquareRight) / 2;
mCircleCenterY = largestCenteredSquareBottom / 2 + (h - largestCenteredSquareBottom) / 2;
mCircleRadius = smallerDim / 2 - mBorderThickness / 2 - mPadding;
if (mBorderGradientColors != null) {
mGradientShader = new SweepGradient(mCircleRadius, mCircleRadius, mBorderGradientColors, null);
}
// works well for now, should we call something else here?
super.onSizeChanged(w, h, oldW, oldH);
}
CircularSlider.java 文件源码
java
阅读 16
收藏 0
点赞 0
评论 0
项目:circular-slider-android
作者:
评论列表
文章目录