页面实现接口
implements IkeyBoardCallback,详细资料见结尾注记。
初始化:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xx);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
KeyBoardEventBus.getDefault().register(this);
}
销毁:
@Override
protected void onDestroy() {
super.onDestroy();
KeyBoardEventBus.getDefault().unregister(this);
}
以下是实现方式方法:
private static final long ANIM_DURATION = 999;
private void goUp(View view, View view2) {
ObjectAnimator transYAnim = ObjectAnimator.ofFloat(view, "translationY", 0, -view2.getHeight() * 2);
transYAnim.setDuration(ANIM_DURATION);
transYAnim.start();
}
/**
* 缩小
*/
public void zoomOut(final View view, float scale, float dist) {
view.setPivotY(0);
view.setPivotX(view.getWidth() / 2);
AnimatorSet mAnimatorSet = new AnimatorSet();
ObjectAnimator mAnimatorScaleX = ObjectAnimator.ofFloat(view, "scaleX", 1.0f, scale);
ObjectAnimator mAnimatorScaleY = ObjectAnimator.ofFloat(view, "scaleY", 1.0f, scale);
ObjectAnimator mAnimatorAlpha = ObjectAnimator.ofFloat(view, "alpha", 1.0f, 0.8f, 0.6f, 0.4f, 0.2f, 0.0f);
mAnimatorSet.playTogether(mAnimatorAlpha, mAnimatorScaleX, mAnimatorScaleY);
mAnimatorSet.setDuration(ANIM_DURATION);
mAnimatorSet.start();
}
private void goDown(View view, View view2) {
ObjectAnimator transYAnim = ObjectAnimator.ofFloat(view, "translationY", -view2.getHeight() * 2, 0);
transYAnim.setDuration(ANIM_DURATION);
transYAnim.start();
}
/**
* 放大
*/
public void zoomIn(final View view, float scale) {
view.setPivotY(0);
view.setPivotX(view.getWidth() / 2);
AnimatorSet mAnimatorSet = new AnimatorSet();
ObjectAnimator mAnimatorScaleX = ObjectAnimator.ofFloat(view, "scaleX", scale, 1.0f);
ObjectAnimator mAnimatorScaleY = ObjectAnimator.ofFloat(view, "scaleY", scale, 1.0f);
ObjectAnimator mAnimatorAlpha = ObjectAnimator.ofFloat(view, "alpha", 0.0f, 0.2f, 0.4f, 0.6f, 0.8f, 1.0f);
mAnimatorSet.playTogether(mAnimatorAlpha, mAnimatorScaleX, mAnimatorScaleY);
mAnimatorSet.setDuration(ANIM_DURATION);
mAnimatorSet.start();
}
@Override
public void onKeyBoardShow() {
//缩小动画
zoomOut(mImage, 0f, 0f);
//上移动画
goUp(mlinLogin, mImage);
}
@Override
public void onKeyBoardHidden() {
//放大动画
zoomIn(mImage, 0f);
goDown(mlinLogin, mImage);
}
注记:
资源链接:https://download.csdn.net/download/qq_26280383/17180230