public void ivGoneRight(){
ObjectAnimator objAnim_alpha = ObjectAnimator.ofFloat(mSevice,"alpha",1f, 0f);//iv,"alpha",0f, 1f, 0f, 1f
ObjectAnimator objAnim_translationX = ObjectAnimator.ofFloat(mSevice,"translationX",0f, 130f);
//ObjectAnimator objAnim_translationY = ObjectAnimator.ofFloat(iv,"translationY",0f, 100f, 0f, 200f, 0f);
//ObjectAnimator objAnim_rotation = ObjectAnimator.ofFloat(iv,"rotation",0f, 180f, 0f, 360f, 0f);
//ObjectAnimator objAnim_scaleX = ObjectAnimator.ofFloat(iv,"scaleX", 4f, 1f, 2f, 1f);
//ObjectAnimator objAnim_scaleY = ObjectAnimator.ofFloat(iv,"scaleY",1f, 5f, 2f, 1f);
AnimatorSet animSet = new AnimatorSet();
animSet.play(objAnim_translationX)
// .before(objAnim_rotation) //在play动画之后执行
// .after(objAnim_scaleX) //在play动画之前执行
// .after(objAnim_scaleY)
// .with(objAnim_translationX) //和play动画同时执行
.with(objAnim_alpha);
animSet.setDuration(800);
animSet.start();
/** AnimationSet animationSet = new AnimationSet(true);
//创建一个AlphaAnimation对象,参数从完全的透明度,到完全的不透明
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
//设置动画执行的时间
alphaAnimation.setDuration(1000);
//将alphaAnimation对象添加到AnimationSet当中
animationSet.addAnimation(alphaAnimation);
TranslateAnimation animatranslate = new TranslateAnimation(0,500,0,0);//view.getHeight()
animatranslate.setDuration(1500);
animatranslate.setFillAfter(true);
animatranslate.setInterpolator(new AccelerateInterpolator());
animationSet.addAnimation(animatranslate);
animationSet.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
mSevice.setVisibility(View.GONE);
mSevice.invalidate();
mSevice.clearAnimation();
//使用ImageView的startAnimation方法执行动画
mSevice.startAnimation(animationSet);*/
public void ivVisibilityLeft(){
ObjectAnimator objAnim_alpha = ObjectAnimator.ofFloat(mSevice,"alpha",0f,1f );//iv,"alpha",0f, 1f, 0f, 1f
ObjectAnimator objAnim_translationX = ObjectAnimator.ofFloat(mSevice,"translationX",130f, 0f);
//ObjectAnimator objAnim_translationY = ObjectAnimator.ofFloat(iv,"translationY",0f, 100f, 0f, 200f, 0f);
//ObjectAnimator objAnim_rotation = ObjectAnimator.ofFloat(iv,"rotation",0f, 180f, 0f, 360f, 0f);
//ObjectAnimator objAnim_scaleX = ObjectAnimator.ofFloat(iv,"scaleX", 4f, 1f, 2f, 1f);
//ObjectAnimator objAnim_scaleY = ObjectAnimator.ofFloat(iv,"scaleY",1f, 5f, 2f, 1f);
AnimatorSet animSet = new AnimatorSet();
animSet.play(objAnim_translationX)
// .before(objAnim_rotation) //在play动画之后执行
// .after(objAnim_scaleX) //在play动画之前执行
// .after(objAnim_scaleY)
// .with(objAnim_translationX) //和play动画同时执行
.with(objAnim_alpha);
animSet.setDuration(800);
animSet.start();
/** AnimationSet animationSet = new AnimationSet(true);
//创建一个AlphaAnimation对象,参数从完全的透明度,到完全的不透明
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
//设置动画执行的时间
alphaAnimation.setDuration(3000);
//将alphaAnimation对象添加到AnimationSet当中
animationSet.addAnimation(alphaAnimation);
TranslateAnimation animatranslate = new TranslateAnimation(500,0,0,0);//view.getHeight()
animatranslate.setDuration(1500);
animatranslate.setFillAfter(true);
animatranslate.setInterpolator(new AccelerateInterpolator());
animationSet.addAnimation(animatranslate);
animationSet.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
mSevice.setVisibility(View.VISIBLE);
mSevice.invalidate();
mSevice.clearAnimation();
//使用ImageView的startAnimation方法执行动画
mSevice.startAnimation(animationSet);*/
/********************监听ScrollView滑动停止*****************************/
mScrollView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mFirstY = event.getY();
Timber.e("=====按下"+mCurrentY);
break;
case MotionEvent.ACTION_MOVE:
mCurrentY = event.getY();
//float fromXDelta, float toXDelta, float fromYDelta, float toYDelta
Timber.e("移动========"+mCurrentY+"==iv.getHeight()==="+mSevice.getHeight());
if(mFirstY!=mFirstY1){
if(mShow){
ivGoneRight();
mShow=false;
break;
case MotionEvent.ACTION_UP:
Timber.e("停止"+mFirstY+"=====");
mFirstY1 = event.getY();
if(mFirstY!=mFirstY1){
if(!mShow){
timeHandler.sendEmptyMessageDelayed(11031,1000);
break;
default:
break;
return false;
package com.lenovo.dh.zuidemo.ui.activity;
import android.animation.ObjectAnimator;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.an
css实现渐渐消失的方法:首先用“@keyframes”规则和animation属性定义动画;然后在动画开始部分添加“opacity:1;”样式,设置正常状态;最后在动画结束部分添加“opacity:0;”样式,设置完全透明状态,隐藏元素。本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。.hideSlow{background: #a40808;...
public void ivGoneRight(){
ObjectAnimator objAnim_alpha = ObjectAnimator.ofFloat(mSevice,"alpha",1f, 0f);//iv,"alpha",0f, 1f, 0f, 1f
ObjectAnimator objAnim_translationX = ObjectAnima...
介绍在Android系统里只允许对View设置有且仅有一个动画效果,不能够为同时给View设置多个动画。即使有一系列的动画,也只能允许一个动画执行,一个动画结束后在开始另外一个外一个动画。AnimatorSet是一个集合动画,允许对控件设置一系列的动画。在AnimatorSet里可以指定动画的播放顺序、是否一起播放或者是否延迟播放。向AnimatorSet添加动画有两种不同的方法,其一是调用play
Html代码:
<svg width="300" height="98" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<!-- Created with SV...
ObjectAnimator.ofFloat也能实现抛物线运动,但效果没有https://blog.csdn.net/zhaihaohao1/article/details/80942102 好
我测试过了,这种只能在自己的父布局中移动
Main9Activity中
package com.zhh.myapplication.test4;
import an...