feat:Android support corners animation
This commit is contained in:
@@ -151,4 +151,11 @@ public class DoricLayer extends FrameLayout {
|
||||
};
|
||||
}
|
||||
|
||||
public float getCornerRadius() {
|
||||
if (mCornerRadii != null) {
|
||||
return mCornerRadii[0];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -215,7 +215,15 @@ public abstract class ViewNode<T extends View> extends DoricContextHolder {
|
||||
break;
|
||||
case "corners":
|
||||
if (prop.isNumber()) {
|
||||
requireDoricLayer().setCornerRadius(DoricUtils.dp2px(prop.asNumber().toFloat()));
|
||||
if (isAnimating()) {
|
||||
addAnimator(ObjectAnimator.ofFloat(
|
||||
this,
|
||||
name,
|
||||
getCorners(),
|
||||
prop.asNumber().toFloat()));
|
||||
} else {
|
||||
setCorners(prop.asNumber().toFloat());
|
||||
}
|
||||
} else if (prop.isObject()) {
|
||||
JSValue lt = prop.asObject().getProperty("leftTop");
|
||||
JSValue rt = prop.asObject().getProperty("rightTop");
|
||||
@@ -454,4 +462,15 @@ public abstract class ViewNode<T extends View> extends DoricContextHolder {
|
||||
public void setBgColor(int color) {
|
||||
mView.setBackgroundColor(color);
|
||||
}
|
||||
|
||||
@DoricMethod
|
||||
public void setCorners(float corner) {
|
||||
requireDoricLayer().setCornerRadius(DoricUtils.dp2px(corner));
|
||||
getNodeView().invalidate();
|
||||
}
|
||||
|
||||
@DoricMethod
|
||||
public float getCorners() {
|
||||
return DoricUtils.px2dp((int) requireDoricLayer().getCornerRadius());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user