Android Open Source - Android-Apps Animation Manager From Project Back to project page Android-Apps .
License The source code is released under:
Apache License
If you think the Android project Android-Apps listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.kniezrec.xbmcgear.presentation;
/ / w w w . j a v a 2 s . c o m
import android.animation.ValueAnimator;
import android.content.Context;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import com.kniezrec.xbmcgear.R;
import com.kniezrec.xbmcgear.connection.AndroidApplication;
/**
* Author Kamil Niezrecki
*/
class AnimationManager implements Animation.AnimationListener, ValueAnimator.AnimatorUpdateListener {
private View mExpandButton;
private View mInfoView;
private final Animation mRotate;
private final Animation mReverseRotate;
private View mCard;
private boolean mExpanded = false;
private int mVisibility;
private int heightCollapsed;
private int heightExpanded;
public AnimationManager() {
Context context = AndroidApplication.getInstance().getApplicationContext();
mRotate = AnimationUtils.loadAnimation(context, R.anim.rotate);
mReverseRotate = AnimationUtils.loadAnimation(context, R.anim.rotate_back);
mRotate.setAnimationListener(this );
mReverseRotate.setAnimationListener(this );
}
public void setCardView(View card) {
this.mCard = card;
heightCollapsed = mCard.getHeight();
heightExpanded = (int ) Math.floor(heightCollapsed * 2.2);
}
public void setButtonView(View button) {
this.mExpandButton = button;
}
public void setLayoutView(View layout) {
this.mInfoView = layout;
}
public void collapseIfNeeded() {
if (this.mExpanded) {
mExpanded = false;
mExpandButton.startAnimation(mReverseRotate);
resizeAnimate(heightExpanded, heightCollapsed, true);
}
}
public void animate() {
if (mExpanded) {
resizeAnimate(heightExpanded, heightCollapsed, true);
mVisibility = View.GONE;
mExpandButton.startAnimation(mReverseRotate);
mExpanded = false;
} else {
resizeAnimate(heightCollapsed, heightExpanded, false);
mVisibility = View.VISIBLE;
mExpandButton.startAnimation(mRotate);
mExpanded = true;
}
}
private void resizeAnimate(int height, int targetHeight, boolean isReverse) {
ValueAnimator mResizeAnimation = ValueAnimator.ofInt(height, targetHeight);
mResizeAnimation.setDuration(300);
mResizeAnimation.addUpdateListener(this );
mResizeAnimation.start();
}
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if (mInfoView != null) {
mInfoView.setVisibility(mVisibility);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationUpdate(ValueAnimator animation) {
Integer value = (Integer ) animation.getAnimatedValue();
mCard.getLayoutParams().height = value;
mCard.requestLayout();
}
}
Java Source Code List com.kniezrec.remoterecorder.Communication.java com.kniezrec.remoterecorder.MainServiceConnection.java com.kniezrec.remoterecorder.MainService.java com.kniezrec.remoterecorder.RequestType.java com.kniezrec.remoterecorder.Request.java com.kniezrec.voiceremote2.BSeriesKeyCodeSenderFactory.java com.kniezrec.voiceremote2.BSeriesSender.java com.kniezrec.voiceremote2.CSeriesButtons.java com.kniezrec.voiceremote2.CSeriesKeyCodeSenderFactory.java com.kniezrec.voiceremote2.CSeriesSender.java com.kniezrec.voiceremote2.CommandsFragment.java com.kniezrec.voiceremote2.Commands.java com.kniezrec.voiceremote2.Discovery.java com.kniezrec.voiceremote2.FSeriesButtons.java com.kniezrec.voiceremote2.Group.java com.kniezrec.voiceremote2.HelpFragment.java com.kniezrec.voiceremote2.HostnamePreference.java com.kniezrec.voiceremote2.KeyCodeSender.java com.kniezrec.voiceremote2.ListActionsFragment.java com.kniezrec.voiceremote2.MainActivity.java com.kniezrec.voiceremote2.MainFragment.java com.kniezrec.voiceremote2.Mapper.java com.kniezrec.voiceremote2.MyExpandableListAdapter.java com.kniezrec.voiceremote2.NewActionEdit.java com.kniezrec.voiceremote2.NewActionSingleEdit.java com.kniezrec.voiceremote2.NewAction.java com.kniezrec.voiceremote2.RemoteButton.java com.kniezrec.voiceremote2.SenderFactory.java com.kniezrec.voiceremote2.Sender.java com.kniezrec.voiceremote2.SettingsActivity.java com.kniezrec.voiceremote2.TextSender.java com.kniezrec.voiceremotefree.BSeriesKeyCodeSenderFactory.java com.kniezrec.voiceremotefree.BSeriesSender.java com.kniezrec.voiceremotefree.CSeriesButtons.java com.kniezrec.voiceremotefree.CSeriesKeyCodeSenderFactory.java com.kniezrec.voiceremotefree.CSeriesSender.java com.kniezrec.voiceremotefree.Commands.java com.kniezrec.voiceremotefree.Discovery.java com.kniezrec.voiceremotefree.FSeriesButtons.java com.kniezrec.voiceremotefree.HelpActivity.java com.kniezrec.voiceremotefree.HostnamePreference.java com.kniezrec.voiceremotefree.KeyCodeSender.java com.kniezrec.voiceremotefree.ListActionsActivity.java com.kniezrec.voiceremotefree.MainActivity.java com.kniezrec.voiceremotefree.Mapper.java com.kniezrec.voiceremotefree.NewActionEdit.java com.kniezrec.voiceremotefree.NewActionSingleEdit.java com.kniezrec.voiceremotefree.NewAction.java com.kniezrec.voiceremotefree.RemoteButton.java com.kniezrec.voiceremotefree.SenderFactory.java com.kniezrec.voiceremotefree.Sender.java com.kniezrec.voiceremotefree.Setings.java com.kniezrec.voiceremotefree.SettingsActivity.java com.kniezrec.voiceremotefree.TextSender.java com.kniezrec.xbmcgear.connection.AndroidApplication.java com.kniezrec.xbmcgear.connection.Connection.java com.kniezrec.xbmcgear.connection.GearJSON.java com.kniezrec.xbmcgear.connection.JSONRPCRequest.java com.kniezrec.xbmcgear.connection.JSONRequestFactory.java com.kniezrec.xbmcgear.connection.NSDResolve.java com.kniezrec.xbmcgear.connection.NSDSearch.java com.kniezrec.xbmcgear.connection.ProviderConnection.java com.kniezrec.xbmcgear.connection.ProviderService.java com.kniezrec.xbmcgear.connection.ResponseParser.java com.kniezrec.xbmcgear.connection.WakeOnLan.java com.kniezrec.xbmcgear.player.Kodi.java com.kniezrec.xbmcgear.player.Player.java com.kniezrec.xbmcgear.player.Playlist.java com.kniezrec.xbmcgear.player.Song.java com.kniezrec.xbmcgear.player.Video.java com.kniezrec.xbmcgear.preferences.HostTable.java com.kniezrec.xbmcgear.preferences.Host.java com.kniezrec.xbmcgear.preferences.HostsDataSource.java com.kniezrec.xbmcgear.preferences.HostsDatabaseHelper.java com.kniezrec.xbmcgear.preferences.SharedPreferencesUtil.java com.kniezrec.xbmcgear.presentation.AnimationManager.java com.kniezrec.xbmcgear.presentation.AutoConfigurationActivity.java com.kniezrec.xbmcgear.presentation.HostSetActivity.java com.kniezrec.xbmcgear.presentation.InstanceActivity.java com.kniezrec.xbmcgear.presentation.MainActivity.java com.kniezrec.xbmcgear.presentation.StyleDialogFragment.java com.kniezrec.xbmcgear.presentation.ViewMode.java com.uraroji.garage.android.lame.SimpleLame.java com.uraroji.garage.android.mp3recvoice.RecMicToMp3.java de.quist.samy.remocon.Base64.java de.quist.samy.remocon.Base64.java de.quist.samy.remocon.ConnectionDeniedException.java de.quist.samy.remocon.ConnectionDeniedException.java de.quist.samy.remocon.Key.java de.quist.samy.remocon.Key.java de.quist.samy.remocon.Loggable.java de.quist.samy.remocon.Loggable.java de.quist.samy.remocon.RemoteReader.java de.quist.samy.remocon.RemoteReader.java de.quist.samy.remocon.RemoteSession.java de.quist.samy.remocon.RemoteSession.java