android.view.View#startAnimation ( )源码实例Demo

下面列出了android.view.View#startAnimation ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Paginize   文件: SquashPageAnimator.java
@Override
public boolean onPopPageAnimation(
    View oldPageView,
    View newPageView,
    AnimationDirection animationDirection) {
  if (animationDirection == AnimationDirection.FROM_LEFT) {
    oldPageView.startAnimation(mShrinkOutFromLeftAnimation);
    if (newPageView != null) {
      newPageView.startAnimation(mExpanndInFromLeftAnimation);
    }

  } else {
    oldPageView.startAnimation(mShrinkOutFromRightAnimation);
    if (newPageView != null) {
      newPageView.startAnimation(mExpandInFromRightAnimation);
    }
  }

  return true;
}
 
public static void expand(final View v) {
    v.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    final int targetHeight = v.getMeasuredHeight();

    // Older versions of android (pre API 21) cancel animations for views with a height of 0.
    v.getLayoutParams().height = 1;
    v.setVisibility(View.VISIBLE);
    Animation a = new Animation() {
        @Override
        protected void applyTransformation(float interpolatedTime, Transformation t) {
            v.getLayoutParams().height = interpolatedTime == 1
                    ? ViewGroup.LayoutParams.WRAP_CONTENT
                    : (int) (targetHeight * interpolatedTime);
            v.requestLayout();
        }

        @Override
        public boolean willChangeBounds() {
            return true;
        }
    };

    // 1dp/ms
    a.setDuration((int) (targetHeight / v.getContext().getResources().getDisplayMetrics().density));
    v.startAnimation(a);
}
 
源代码3 项目: something.apk   文件: PageDividerItem.java
@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.page_divider_page:
            delegate.showPageSelectDialog(pageNumber, maxPage);
            break;
        case R.id.page_divider_refresh:
            delegate.refreshPage(pageNumber);
            RotateAnimation rot = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
            rot.setRepeatMode(Animation.RESTART);
            rot.setRepeatCount(Animation.INFINITE);
            v.startAnimation(rot);
            break;
        case R.id.page_divider_scroll:
            delegate.scrollToTop();
            break;
    }
}
 
源代码4 项目: RxAndroidBootstrap   文件: ExpandAnimation.java
public static void expand(final View v) {
    v.measure(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
    final int targtetHeight = v.getMeasuredHeight();

    v.getLayoutParams().height = 0;
    v.setVisibility(View.VISIBLE);
    Animation a = new Animation()
    {
        @Override
        protected void applyTransformation(float interpolatedTime, Transformation t) {
            v.getLayoutParams().height = interpolatedTime == 1
                    ? LayoutParams.WRAP_CONTENT
                    : (int)(targtetHeight * interpolatedTime);
            v.requestLayout();
        }

        @Override
        public boolean willChangeBounds() {
            return true;
        }
    };

    // 1dp/ms
    a.setDuration(500);
    v.startAnimation(a);
}
 
源代码5 项目: opentasks   文件: ViewTaskFragment.java
private void animate(View v, int duration, int visibility)
{
    AlphaAnimation alphaAnimation = (visibility == View.VISIBLE) ? new AlphaAnimation(0f, 1f) : new AlphaAnimation(1f, 0f);
    alphaAnimation.setDuration(duration);
    alphaAnimation.setFillAfter(true);
    v.startAnimation(alphaAnimation);
}
 
private void animateButtonIn(View button, int delay) {
  AnimationSet animation = new AnimationSet(true);
  Animation scale = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f,
                                       Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.0f);

  animation.addAnimation(scale);
  animation.setInterpolator(new OvershootInterpolator(1));
  animation.setDuration(ANIMATION_DURATION);
  animation.setStartOffset(delay);
  button.startAnimation(animation);
}
 
源代码7 项目: JianDan_OkHttpWithVolley   文件: JokeAdapter.java
protected void setAnimation(View viewToAnimate, int position) {
    if (position > lastPosition) {
        Animation animation = AnimationUtils.loadAnimation(viewToAnimate.getContext(), R
                .anim.item_bottom_in);
        viewToAnimate.startAnimation(animation);
        lastPosition = position;
    }
}
 
源代码8 项目: AndroidStudyDemo   文件: ZrcListView.java
private void fillUp(int pos, int nextBottom, boolean isAnim) {
    int end = 0;

    while (nextBottom > end && pos >= 0) {
        View child = makeAndAddView(pos, nextBottom, false, mListPadding.left, false);
        nextBottom = child.getTop() - mDividerHeight;
        if (isAnim && mItemAnimForTopIn != 0 && child.getVisibility() == View.VISIBLE) {
            child.startAnimation(AnimationUtils.loadAnimation(getContext(), mItemAnimForTopIn));
        }
        pos--;
    }
    mFirstPosition = pos + 1;
}
 
源代码9 项目: BaseProject   文件: ExpandableLayout.java
private void collapse(final View v)
{
    final int initialHeight = v.getMeasuredHeight();
    animation = new Animation()
    {
        @Override
        protected void applyTransformation(float interpolatedTime, Transformation t) {
            if(interpolatedTime == 1)
            {
                v.setVisibility(View.GONE);
                isOpened = false;
            }
            else{
                v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime);
                v.requestLayout();
            }
        }

        @Override
        public boolean willChangeBounds() {
            return true;
        }
    };

    animation.setDuration(duration);
    v.startAnimation(animation);
}
 
源代码10 项目: AndroidHeros   文件: MainActivity.java
public void btnScaleSelf(View view) {
    ScaleAnimation sa = new ScaleAnimation(0, 1, 0, 1,
            Animation.RELATIVE_TO_SELF, 0.5F,
            Animation.RELATIVE_TO_SELF, 0.5F);
    sa.setDuration(1000);
    view.startAnimation(sa);
}
 
源代码11 项目: Gallery   文件: VersionDiffUtils.java
public static void scaleY(View view, float f) {
    if (view == null)
        return;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        view.setScaleY(f);
    } else {
        ScaleAnimation animation =new ScaleAnimation(f, f, f, f, 
                Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); 
        animation.setDuration(0);
        animation.setFillAfter(true);
        view.startAnimation(animation);
    }
}
 
源代码12 项目: 1Rramp-Android   文件: ViewExpanderCollapser.java
public static void expand(final View v) {

    v.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    final int targetHeight = v.getMeasuredHeight();

    // Older versions of android (pre API 21) cancel animations for views with a height of 0.
    v.getLayoutParams().height = 1;
    v.setVisibility(View.VISIBLE);
    Animation a = new Animation() {
      @Override
      public boolean willChangeBounds() {
        return true;
      }      @Override
      protected void applyTransformation(float interpolatedTime, Transformation t) {
        v.getLayoutParams().height = interpolatedTime == 1
          ? ViewGroup.LayoutParams.WRAP_CONTENT
          : (int) (targetHeight * interpolatedTime);
        v.requestLayout();
      }


    };

    // 1dp/ms
    a.setDuration((int) (targetHeight / v.getContext().getResources().getDisplayMetrics().density));
    a.setInterpolator(new AccelerateInterpolator(3f));
    v.startAnimation(a);
  }
 
源代码13 项目: JianDan_OkHttpWithVolley   文件: VideoAdapter.java
private void setAnimation(View viewToAnimate, int position) {
    if (position > lastPosition) {
        Animation animation = AnimationUtils.loadAnimation(viewToAnimate.getContext(), R
                .anim.item_bottom_in);
        viewToAnimate.startAnimation(animation);
        lastPosition = position;
    }
}
 
源代码14 项目: TLint   文件: AbstractShowState.java
protected void showViewById(int viewId, boolean animate) {
    View content = mFragmentView.findViewById(viewId);
    if (animate) {
        mAnimationIn.reset();
        content.startAnimation(mAnimationIn);
    } else {
        content.clearAnimation();
    }
    content.setVisibility(View.VISIBLE);
}
 
源代码15 项目: AndroidEmptyLayout   文件: EmptyLayout.java
private void changeEmptyType() {

        setDefaultValues();
        refreshMessages();

        // insert views in the root view
        if (!mViewsAdded) {
            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
            lp.addRule(RelativeLayout.CENTER_IN_PARENT);
            mEmptyRelativeLayout = new RelativeLayout(getContext());
            mEmptyRelativeLayout.setGravity(Gravity.CENTER);
            mEmptyRelativeLayout.setLayoutParams(lp);
            if (mEmptyView!=null) mEmptyRelativeLayout.addView(mEmptyView);
            if (mLoadingView!=null) mEmptyRelativeLayout.addView(mLoadingView);
            if (mErrorView!=null) mEmptyRelativeLayout.addView(mErrorView);
            mViewsAdded = true;
            mEmptyRelativeLayout.setVisibility(VISIBLE);
            addView(mEmptyRelativeLayout);
        }


        // change empty type
            View loadingAnimationView = null;
            if (mLoadingAnimationViewId > 0) loadingAnimationView = findViewById(mLoadingAnimationViewId);
            switch (mEmptyType) {
                case TYPE_EMPTY:
                    if (mEmptyView!=null) mEmptyView.setVisibility(View.VISIBLE);
                    if (mErrorView!=null) mErrorView.setVisibility(View.GONE);
                    if (mLoadingView!=null) {
                        mLoadingView.setVisibility(View.GONE);
                        if (loadingAnimationView!=null && loadingAnimationView.getAnimation()!=null) loadingAnimationView.getAnimation().cancel();
                    }
                    break;
                case TYPE_ERROR:
                    if (mEmptyView!=null) mEmptyView.setVisibility(View.GONE);
                    if (mErrorView!=null) mErrorView.setVisibility(View.VISIBLE);
                    if (mLoadingView!=null) {
                        mLoadingView.setVisibility(View.GONE);
                        if (loadingAnimationView!=null && loadingAnimationView.getAnimation()!=null) loadingAnimationView.getAnimation().cancel();
                    }
                    break;
                case TYPE_LOADING:
                    if (mEmptyView!=null) mEmptyView.setVisibility(View.GONE);
                    if (mErrorView!=null) mErrorView.setVisibility(View.GONE);
                    if (mLoadingView!=null) {
                        mLoadingView.setVisibility(View.VISIBLE);
                        if (mLoadingAnimation != null && loadingAnimationView!=null) {
                            loadingAnimationView.startAnimation(mLoadingAnimation);
                        }
                        else if (loadingAnimationView!=null) {
                            loadingAnimationView.startAnimation(getRotateAnimation());
                        }
                    }
                    break;
                default:
                    break;
            }
    }
 
源代码16 项目: weather   文件: ViewAnimation.java
public static void expand(final View v) {
  Animation a = expandAction(v);
  v.startAnimation(a);
}
 
/**
 * Assign a "slide in from left" animation to the given view
 * @param view The view which we want to slide
 * @param duration the duration of the animation in milliseconds
 */
public static void setSlideInFromLeftAnimation(View view, long duration){
    Animation slide = AnimationUtils.loadAnimation(view.getContext(), R.anim.slide_in_from_left);
    slide.setDuration(duration);
    view.startAnimation(slide);
}
 
源代码18 项目: MongoExplorer   文件: MultiPaneActivity.java
private void animateFromRightPaneOffscreen(View view) {
	Animation animation = new LeftMarginAnimation(view, mLeftPaneWidth, mScreenWidth+1);
	view.startAnimation(animation);
}
 
源代码19 项目: NHentai-android   文件: SearchBox.java
@Override
public View getView(int position, View convertView, ViewGroup parent) {
	SearchResult option = getItem(position);
	if (convertView == null) {
		convertView = LayoutInflater.from(getContext()).inflate(
				R.layout.search_option, parent, false);

		if (animate) {
			Animation anim = AnimationUtils.loadAnimation(context,
					R.anim.anim_down);
			anim.setDuration(400);
			convertView.startAnimation(anim);
			if (count == this.getCount()) {
				animate = false;
			}
			count++;
		}
	}

	View border = convertView.findViewById(R.id.border);
	if (position == 0) {
		border.setVisibility(View.VISIBLE);
	} else {
		border.setVisibility(View.GONE);
	}
	final TextView title = (TextView) convertView
			.findViewById(R.id.title);
	title.setText(option.title);
	ImageView icon = (ImageView) convertView.findViewById(R.id.icon);
	if (option.icon != null) {
		icon.setImageDrawable(option.icon);
	} else {
		icon.setImageResource(option.drawableResId);
	}
	ImageView up = (ImageView) convertView.findViewById(R.id.up);
	up.setOnClickListener(new OnClickListener() {

		@Override
		public void onClick(View v) {
			setSearchString(title.getText().toString());
			search.setSelection(search.getText().length());
		}

	});

	return convertView;
}
 
源代码20 项目: 600SeriesAndroidUploader   文件: UserLogAdapter.java
private void setFadeAnimation(View view) {
    AlphaAnimation anim = new AlphaAnimation(0.0f, 1.0f);
    anim.setDuration(FADE_DURATION_MS);
    view.startAnimation(anim);
}
 
 方法所在类
 同类方法