当用户开始编辑时,我尝试为edittext设置动画。 我试过以下代码,
EditText txtPassword = (EditText) findViewById(R.id.editText1);
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.anim);
anim.setInterpolator((new AccelerateDecelerateInterpolator()));
anim.setFillAfter(true);
txtPassword.startAnimation(anim);
anim.xml
````````
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0" android:toYDelta="-50%p" android:duration="100"/>
</set>
动画效果很好。 但edittext在动画后停止了userinteraction。 如果用户触摸屏幕编辑文本的先前位置,则会出现键盘。 但实际上在新位置的edittext应该响应。我该怎么办?
我希望有人能用正确的英文格式编辑我的问题。
答案 0 :(得分:0)
(有用的提示:有一个Android库可以在平台的所有版本上使用Honeycomb(Android 3.0)动画API回到1.0!它被称为NineOldAndroid。)
(USEFUL HINT(Android Developers,View):从Android 3.0开始,动画视图的首选方法是使用android.animation包API。这些基于Animator的类改变了View对象的实际属性例如alpha和translationX。这种行为与3.0之前基于动画的类的行为形成对比,后者只为动画在显示器上绘制的方式设置动画。特别是,ViewPropertyAnimator类使动画这些View属性特别容易,高效。)
(注意:以下解决方案适用于前蜂窝电话。)
与iOS相比,使用android的动画有点难以理解。你需要知道;所以解决方案可能是;
阻止触摸事件以查看
animatingView.setEnabled(FALSE);
动画视图
删除动画视图
animatingView.setVisibility(GONE);
(animatingView.getParent()).removeView(animatingView);
将精确的视图副本添加到新坐标。