- 在布局文件中添加EditText控件:
<EditText
android:id="@+id/edit_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Enter text here"
android:textSize="18sp"/>
- 在Activity中使用属性动画来实现EditText从右边滑动到屏幕中央并变为不透明的效果:
EditText editText = findViewById(R.id.edit_text);
// 获得屏幕宽度
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth = metrics.widthPixels;
// 将EditText移动到屏幕右侧
editText.setTranslationX(screenWidth);
// 编写动画
ObjectAnimator translationXAnimator = ObjectAnimator.ofFloat(editText, "translationX", 0);
ObjectAnimator alphaAnimator = ObjectAnimator.ofFloat(editText, "alpha", 0f, 1f);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(translationXAnimator, alphaAnimator);
animatorSet.setDuration(1000);
// 开始动画
animatorSet.start();
-
在该示例中,我们在EditText的初始位置设置TranslationX值以将其放置在屏幕的右侧。接下来,我们将EditText的TranslationX和Alpha属性用于ObjectAnimator动画。
-
在AnimatorSet中将两个动画一起播放,并将其持续时间设置为1秒。最后,调用animatorSet.start()方法来启动动画。
这个实例可以让EditText从右边滑动到屏幕中央并将透明度由0变为1的效果,如果你想让EditText从屏幕中央开始滑动,而不是先放到屏幕右侧,修改setTranslationX方法中的参数即可。