Android动画
实现一个图片位移动画
final int[] location = new int[2]; v.getLocationOnScreen(location); int screenWidth = mShaPreferences.getInt("screenWidth", 0); int screenHeight = mShaPreferences.getInt("screenHeight", 0); FrameLayout.LayoutParams params = (android.widget.FrameLayout.LayoutParams) mImageAnim .getLayoutParams(); params.topMargin = location[1] - Util.px2dip(mContext, 20); params.leftMargin = screenWidth / 6; mImageAnim.setLayoutParams(params); mImageAnim.setVisibility(View.VISIBLE); int endX = screenWidth - Util.px2dip(mContext, 30); int endY = screenHeight - Util.px2dip(mContext, 20); AnimationSet set = new AnimationSet(false); TranslateAnimation translateAnimationX = new TranslateAnimation(0, endX, 0, 0); translateAnimationX.setInterpolator(new LinearInterpolator()); translateAnimationX.setRepeatCount(0); TranslateAnimation translateAnimationY = new TranslateAnimation(0, 0, 0, endY); translateAnimationY.setInterpolator(new AccelerateInterpolator()); translateAnimationY.setRepeatCount(0); set.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { mImageAnim.setVisibility(View.GONE); } }); set.addAnimation(translateAnimationY); set.addAnimation(translateAnimationX); set.setDuration(500); mImageAnim.startAnimation(set);