Java Android ui元素动画
我正在尝试设置UI元素的动画。我想将一个editText和一个按钮从屏幕的中间移到顶部,并在下面的表格中显示http调用的结果。如果有人能给我指出正确的方向,那就太好了,在这一点上,我不知道我应该使用Java还是XMLJava Android ui元素动画,java,android,android-animation,Java,Android,Android Animation,我正在尝试设置UI元素的动画。我想将一个editText和一个按钮从屏幕的中间移到顶部,并在下面的表格中显示http调用的结果。如果有人能给我指出正确的方向,那就太好了,在这一点上,我不知道我应该使用Java还是XML 提前感谢。使用翻译框架来实现这一点,其工作原理如下: TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) 因此,您需要编写在y轴方向上移动视图的代码,如下所
提前感谢。使用翻译框架来实现这一点,其工作原理如下:
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
因此,您需要编写在y轴方向上移动视图的代码,如下所示:
mAnimation = new TranslateAnimation(0, 0, 0, 599);
mAnimation.setDuration(10000);
mAnimation.setFillAfter(true);
mAnimation.setRepeatCount(-1);
mAnimation.setRepeatMode(Animation.REVERSE);
view.setAnimation(mAnimation);
这里的视图可以是任何内容,文本视图、图像视图等。接受的答案在我的代码中导致了一个错误,下面的代码片段几乎与接受的答案相同,并且在没有导致错误的情况下工作,将一个对象滑出屏幕。我需要将手势绑在键盘上才能“滑开”,并从TranslateAnimation切换到ObjectAnimator(下面的第二段代码)
谢谢,这正是我想要的。
final LinearLayout keyPad = (LinearLayout)findViewById(R.id.keyPad);
moveKeyPadUp(keyPad);
private void moveKeyPadUp(LinearLayout keyPad){
Animation animation = new TranslateAnimation(0,0,0,-500);
animation.setDuration(1000);
animation.setFillAfter(true);
keyPad.startAnimation(animation);
}
private void moveKeyPadUpdated(LinearLayout keyPad){
ObjectAnimator mover = ObjectAnimator.ofFloat(keyPad,"translationY",0,-500);
mover.setDuration(300);
mover.start();
}