Commit 46a9e52832c0a136163768bfac78d93c1fb6ef75

Authored by YangShuai
1 parent ae727992

1 新增个人资料页

Showing 91 changed files with 4103 additions and 509 deletions

Too many changes to show.

To preserve performance only 91 of 116 files are displayed.

app/strike/src/main/AndroidManifest.xml
@@ -17,13 +17,12 @@ @@ -17,13 +17,12 @@
17 android:roundIcon="@mipmap/ic_launcher_round" 17 android:roundIcon="@mipmap/ic_launcher_round"
18 android:supportsRtl="true" 18 android:supportsRtl="true"
19 android:theme="@style/AppTheme"> 19 android:theme="@style/AppTheme">
20 - 20 + <activity android:name=".demo.activity.DemoAnimActivity" />
21 <activity 21 <activity
22 android:name=".LoginSuccessActivity" 22 android:name=".LoginSuccessActivity"
23 android:label="UserAPI" 23 android:label="UserAPI"
24 android:theme="@style/AppTheme.TranslucentFullScreenTheme" /> 24 android:theme="@style/AppTheme.TranslucentFullScreenTheme" />
25 <activity android:name=".demo.activity.DemoActivity" /> 25 <activity android:name=".demo.activity.DemoActivity" />
26 - <activity android:name=".MyActivity"></activity>  
27 <activity android:name=".imgutil.ImgActivity" /> 26 <activity android:name=".imgutil.ImgActivity" />
28 <activity android:name=".MainActivity"> 27 <activity android:name=".MainActivity">
29 28
@@ -33,7 +32,6 @@ @@ -33,7 +32,6 @@
33 <category android:name="android.intent.category.LAUNCHER" /> 32 <category android:name="android.intent.category.LAUNCHER" />
34 </intent-filter> 33 </intent-filter>
35 </activity> 34 </activity>
36 - <activity android:name=".MyActivityTest1" />  
37 <activity android:name=".demo.activity.DemoMvpActivity" /> 35 <activity android:name=".demo.activity.DemoMvpActivity" />
38 36
39 <meta-data 37 <meta-data
app/strike/src/main/java/com/cnlive/strike/MyActivity.java deleted 100644 → 0
1 -package com.cnlive.strike;  
2 -  
3 -  
4 -import android.content.Intent;  
5 -import android.text.TextUtils;  
6 -import android.view.View;  
7 -  
8 -import com.alibaba.android.arouter.facade.annotation.Route;  
9 -import com.cnlive.core.libs.base.frame.activity.BaseActivity;  
10 -import com.cnlive.core.libs.base.util.NetworkUtil;  
11 -import com.cnlive.moudle.collectionTrace.commonInfo.CollCommonInfo;  
12 -import com.cnlive.moudle.collectionTrace.ui.activity.RaceListActivity;  
13 -import com.cnlive.moudle.pedometer.commonInfo.CommonInfo;  
14 -import com.cnlive.moudle.pedometer.ui.activity.RunLineActivity;  
15 -import com.cnlive.moudle.pedometer.ui.fragment.RunLineFragment;  
16 -import com.cnlive.strike.databinding.ActivityMyBinding;  
17 -import com.cnlive.strike.user.auth.UserService;  
18 -import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo;  
19 -  
20 -@Route(path = "/strick/MyActivity")  
21 -public class MyActivity extends BaseActivity {  
22 - public ActivityMyBinding binding;  
23 -  
24 -// @Override  
25 -// protected int getBindLayoutId() {  
26 -// return R.layout.activity_my;  
27 -// }  
28 -  
29 -// @Override  
30 -// protected void initBindingData() {  
31 -// super.initBindingData();  
32 -// binding = (ActivityMyBinding) baseBinding;  
33 -// }  
34 -  
35 - @Override  
36 - protected void initView() {  
37 -// loadRootFragment(new EmptyFragment());  
38 - initXiaoJiaSoundBoxData();  
39 - startActivity(new Intent(MyActivity.this, RunLineActivity.class));  
40 -// RaceListActivity.newInstance(me, UserService.getUid(me),  
41 -// UserService.getInstance(me).getAppAccount().getNickName(),  
42 -// UserService.getInstance(me).getAppAccount().getFaceUrl());  
43 -// finish();  
44 -// binding.btnChange.setOnClickListener(new View.OnClickListener() {  
45 -// @Override  
46 -// public void onClick(View v) {  
47 -//// Bitmap bitmap=ImageUtils.drawable2Bitmap(getResources().getDrawable(R.mipmap.timg));  
48 -// binding.btnChange.setText(NetworkUtil.getNetWorkType(me) + "");  
49 -// binding.ivImg.setImageBitmap(screenShot());  
50 -// startActivity(new Intent(MyActivity.this, RunLineActivity.class));  
51 -  
52 -// WjjPay.passwordIsExisting(UserService.getUid(me), new NetCallBack<BaseResult<GroupBalanceInfo>>() {  
53 -// @Override  
54 -// public void onRequestState(int state) {  
55 -//  
56 -// }  
57 -//  
58 -// @Override  
59 -// public void onSuccess(BaseResult<GroupBalanceInfo> data) {  
60 -// QMUITipDialogUtil.successDialog(me, data.getErrorCode() + "" + data.getData().getBalance(), 5);  
61 -// }  
62 -//  
63 -// @Override  
64 -// public void onFailure(String errCode, String errMsg) {  
65 -// QMUITipDialogUtil.failedDialog(me, errMsg, 3);  
66 -// }  
67 -// });  
68 -// WjjPay.setPassword(UserService.getUid(me), "123456", new NetCallBack<BaseResult>() {  
69 -// @Override  
70 -// public void onRequestState(int state) {  
71 -// if (state == HttpConn.ON_START) {  
72 -// QMUITipDialogUtil.loadingDialog(me, "修改中", true);  
73 -// }  
74 -// }  
75 -//  
76 -// @Override  
77 -// public void onSuccess(BaseResult data) {  
78 -// QMUITipDialogUtil.successDialog(me, data.getMessage(), 5);  
79 -// }  
80 -//  
81 -// @Override  
82 -// public void onFailure(String errCode, String errMsg) {  
83 -// QMUITipDialogUtil.failedDialog(me, errMsg, 3);  
84 -// }  
85 -// });  
86 -// }  
87 -// });  
88 - }  
89 -  
90 - @Override  
91 - protected void initData() {  
92 - }  
93 -  
94 - /**  
95 - * 初始化小家音箱数据  
96 - */  
97 - private void initXiaoJiaSoundBoxData() {  
98 -// XiaoJIaCommInfo.setUserId(this, "10514333");  
99 -// XiaoJIaCommInfo.setUserPhone(this, "18301489586");  
100 - if (!TextUtils.isEmpty(UserService.getUid(this))) {  
101 - XiaoJIaCommInfo.setUserId(this, UserService.getUid(this));  
102 - }  
103 - if (null == UserService.getInstance(this).getAppAccount()) {  
104 - return;  
105 - }  
106 - if (null != UserService.getInstance(this).getAppAccount().getMobile() && !TextUtils.isEmpty(UserService.getInstance(this).getAppAccount().getMobile())) {  
107 - XiaoJIaCommInfo.setUserPhone(this, UserService.getInstance(this).getAppAccount().getMobile());  
108 - }  
109 - if (!TextUtils.isEmpty(UserService.getInstance(this).getAppAccount().getFaceUrl())) {  
110 - XiaoJIaCommInfo.setUserIcon(this, UserService.getInstance(this).getAppAccount().getFaceUrl());  
111 - }  
112 - if (!TextUtils.isEmpty(UserService.getInstance(this).getAppAccount().getNickName())) {  
113 - XiaoJIaCommInfo.setUserNickName(this, UserService.getInstance(this).getAppAccount().getNickName());  
114 - }  
115 - if (null != UserService.getInstance(this).getAppAccount().getMobile() && !TextUtils.isEmpty(UserService.getInstance(this).getAppAccount().getMobile())) {  
116 - CommonInfo.setUserInfo(this, UserService.getUid(this), UserService.getInstance(this).getAppAccount().getNickName(), UserService.getInstance(this).getAppAccount().getFaceUrl(), UserService.getInstance(this).getAppAccount().getMobile());  
117 - }  
118 - }  
119 -}  
app/strike/src/main/java/com/cnlive/strike/MyActivityTest1.java deleted 100644 → 0
1 -package com.cnlive.strike;  
2 -  
3 -import com.cnlive.core.libs.base.frame.activity.BaseActivity;  
4 -  
5 -  
6 -public class MyActivityTest1 extends BaseActivity {  
7 -  
8 - @Override  
9 - protected int getViewLayoutId() {  
10 - return R.layout.activity_my1;  
11 - }  
12 -  
13 - @Override  
14 - protected void initView() {  
15 - getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new MyFragment1()).commitAllowingStateLoss();  
16 - }  
17 -  
18 - @Override  
19 - protected void initData() {  
20 - }  
21 -}  
app/strike/src/main/java/com/cnlive/strike/MyFragment.java deleted 100644 → 0
1 -package com.cnlive.strike;  
2 -  
3 -  
4 -import android.Manifest;  
5 -import android.os.Bundle;  
6 -import android.util.Log;  
7 -import android.view.View;  
8 -import android.widget.TextView;  
9 -  
10 -import com.cnlive.core.libs.base.frame.fragment.BaseFragment;  
11 -import com.cnlive.core.libs.base.interfaces.OnPermissionResponseListener;  
12 -import com.cnlive.core.libs.base.util.QMUITipDialogUtil;  
13 -import com.cnlive.core.network.model.BaseResult;  
14 -import com.cnlive.core.network.HttpConn;  
15 -import com.cnlive.core.network.NetCallBack;  
16 -import com.cnlive.core.libs.base.util.StatusBarConfig;  
17 -import com.cnlive.core.network.request.BaseRequest;  
18 -import com.cnlive.strike.network.api.ApiService;  
19 -import com.cnlive.strike.network.bean.LetHimNoSeeBean;  
20 -import com.cnlive.strike.network.bean.TestBean;  
21 -import com.me.yokeyword.fragmentation.anim.DefaultVerticalAnimator;  
22 -import com.me.yokeyword.fragmentation.anim.FragmentAnimator;  
23 -  
24 -import org.greenrobot.eventbus.Subscribe;  
25 -import org.greenrobot.eventbus.ThreadMode;  
26 -  
27 -import java.util.HashMap;  
28 -import java.util.Map;  
29 -  
30 -import io.reactivex.Observable;  
31 -import io.reactivex.functions.Function;  
32 -  
33 -  
34 -public class MyFragment extends BaseFragment<MyFragmentView, MyPresenter> {  
35 - public TextView textView;  
36 -  
37 - @Override  
38 - protected int getViewLayoutId() {  
39 - return R.layout.activity_main1;  
40 - }  
41 -  
42 - @Override  
43 - protected void initView() {  
44 - super.initView();  
45 - setSwipeBackEnable(true);  
46 - setStatusBarColor(R.color.green, 0);  
47 - setStatusBarTextColor(StatusBarConfig.BLACK);  
48 - textView = getBaseView().findViewById(R.id.tv1);  
49 - getBaseView().findViewById(R.id.btn_test2).setOnClickListener(new View.OnClickListener() {  
50 - @Override  
51 - public void onClick(View v) {  
52 - requestPermission(010001, "测试", new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {  
53 - @Override  
54 - public void onSuccess(String[] permissions) {  
55 - Log.e(TAG, "onSuccess: ");  
56 - }  
57 -  
58 - @Override  
59 - public void onFail() {  
60 - Log.e(TAG, "onFail: ");  
61 - }  
62 - });  
63 - }  
64 - });  
65 - getBaseView().findViewById(R.id.btn_test1).setOnClickListener(new View.OnClickListener() {  
66 - @Override  
67 - public void onClick(View v) {  
68 -// requestPermission(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {  
69 -// @Override  
70 -// public void onSuccess(String[] permissions) {  
71 -// Log.e(TAG, "onSuccess: ");  
72 -// }  
73 -//  
74 -// @Override  
75 -// public void onFail() {  
76 -// Log.e(TAG, "onFail: ");  
77 -// }  
78 -// });  
79 - startForResult(new MyFragment1(), 1001);  
80 - }  
81 - });  
82 - getBaseView().findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() {  
83 - @Override  
84 - public void onClick(View v) {  
85 - //单个请求  
86 - HttpConn.action(  
87 - BaseRequest  
88 - .init()  
89 - .setUrl("http://gank.io/api/data/")  
90 - .service(ApiService.class)  
91 - .getTest(), new NetCallBack<TestBean>() {  
92 - @Override  
93 - public void onRequestState(int state) {  
94 -  
95 - }  
96 -  
97 - @Override  
98 - public void onSuccess(TestBean data) {  
99 - Log.e(TAG, "onSuccess: " + data.getResults().size());  
100 - }  
101 -  
102 - @Override  
103 - public void onFailure(String errCode, String errMsg) {  
104 - Log.e(TAG, "onFailure: " + errMsg);  
105 - }  
106 - }  
107 - );  
108 - //多个请求  
109 - Map<String, String> param = new HashMap<>();  
110 - param.put("sid", "358916");  
111 - HttpConn  
112 - .action(  
113 - BaseRequest  
114 - .init()  
115 - .setUrl("http://gank.io/api/data/")  
116 - .service(ApiService.class)  
117 - .getTest()  
118 - .concatMap(new Function<TestBean, Observable<BaseResult<LetHimNoSeeBean>>>() {  
119 - @Override  
120 - public Observable<BaseResult<LetHimNoSeeBean>> apply(TestBean testBean) throws Exception {  
121 - Log.e(TAG, "apply: " + testBean.getResults().size());  
122 - return BaseRequest.init().service(ApiService.class).getLetHimNoSee(param);  
123 - }  
124 - }), new NetCallBack<BaseResult<LetHimNoSeeBean>>() {  
125 - @Override  
126 - public void onRequestState(int state) {  
127 -  
128 - }  
129 -  
130 - @Override  
131 - public void onSuccess(BaseResult<LetHimNoSeeBean> data) {  
132 - Log.e(TAG, "onSuccess: " + data.getData().getDoNotletFsids().size());  
133 - }  
134 -  
135 - @Override  
136 - public void onFailure(String errCode, String errMsg) {  
137 - Log.e(TAG, "onFailure: " + errMsg);  
138 - }  
139 - });  
140 -  
141 -  
142 - }  
143 - });  
144 - getPresenter().setData("hha");  
145 - getMvpView().setData("test");  
146 - }  
147 -  
148 - @Override  
149 - public FragmentAnimator onCreateFragmentAnimator() {  
150 - return new DefaultVerticalAnimator();  
151 - }  
152 -  
153 - @Override  
154 - public void onFragmentResult(int requestCode, int resultCode, Bundle data) {  
155 - super.onFragmentResult(requestCode, resultCode, data);  
156 - if (requestCode == 1001) {  
157 - setStatusBarColor(R.color.green, 0);  
158 -  
159 - if (null != data) {  
160 - logError(data.getString("test"));  
161 - }  
162 - }  
163 - }  
164 -  
165 -  
166 -}  
app/strike/src/main/java/com/cnlive/strike/MyFragment1.java deleted 100644 → 0
1 -package com.cnlive.strike;  
2 -  
3 -  
4 -import android.os.Build;  
5 -import android.os.Bundle;  
6 -import android.util.Log;  
7 -import android.view.View;  
8 -  
9 -import com.cnlive.core.libs.base.frame.fragment.BaseFragment;  
10 -import com.cnlive.core.libs.base.util.StatusBarConfig;  
11 -import com.cnlive.core.network.HttpConn;  
12 -import com.cnlive.core.network.NetCallBack;  
13 -import com.cnlive.core.network.request.BaseRequest;  
14 -import com.cnlive.strike.network.api.ApiService;  
15 -import com.cnlive.strike.network.bean.TestBean;  
16 -  
17 -  
18 -public class MyFragment1 extends BaseFragment {  
19 -  
20 -  
21 - @Override  
22 - protected int getViewLayoutId() {  
23 - return R.layout.fragment_main1;  
24 - }  
25 -  
26 - @Override  
27 - protected void initView() {  
28 - super.initView();  
29 - Bundle bundle = new Bundle();  
30 - bundle.putString("test", "你好");  
31 - setFragmentResult(1001, bundle);  
32 -  
33 - setStatusBarColor(R.color.qmui_config_color_red, 0);  
34 - setStatusBarTextColor(StatusBarConfig.BLACK);  
35 - getBaseView().findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() {  
36 - @Override  
37 - public void onClick(View v) {  
38 - //单个请求  
39 - HttpConn.action(  
40 - BaseRequest  
41 - .init()  
42 - .setUrl("http://gank.io/api/data/")  
43 - .service(ApiService.class)  
44 - .getTest(), new NetCallBack<TestBean>() {  
45 - @Override  
46 - public void onRequestState(int state) {  
47 -  
48 - }  
49 -  
50 - @Override  
51 - public void onSuccess(TestBean data) {  
52 - Log.e(TAG, "onSuccess: " + data.getResults().size());  
53 - }  
54 -  
55 - @Override  
56 - public void onFailure(String errCode, String errMsg) {  
57 - Log.e(TAG, "onFailure: " + errMsg);  
58 - }  
59 -  
60 - });  
61 - }  
62 - });  
63 -  
64 - }  
65 -}  
app/strike/src/main/java/com/cnlive/strike/MyFragment1View.java deleted 100644 → 0
1 -package com.cnlive.strike;  
2 -  
3 -import android.util.Log;  
4 -  
5 -import com.cnlive.core.libs.base.frame.view.BaseView;  
6 -  
7 -public class MyFragment1View extends BaseView {  
8 -// private MyFragment fragment;  
9 -//  
10 -// /**  
11 -// * 可给可不给,看自己需要  
12 -// *  
13 -// * @param fragment  
14 -// */  
15 - public MyFragment1View(MyFragment1 fragment) {  
16 -// this.fragment = fragment;  
17 - Log.e(TAG, "MyFragment1View: " + fragment);  
18 - }  
19 -  
20 - public void setData1(String msg) {  
21 - Log.e(TAG, "setData1: ");  
22 - }  
23 -}  
app/strike/src/main/java/com/cnlive/strike/MyFragmentView.java deleted 100644 → 0
1 -package com.cnlive.strike;  
2 -  
3 -import com.cnlive.core.libs.base.frame.view.BaseView;  
4 -  
5 -public class MyFragmentView extends BaseView {  
6 - MyFragment fragment;  
7 -  
8 - public MyFragmentView(MyFragment fragment) {  
9 - this.fragment = fragment;  
10 - }  
11 -  
12 - public void setData(String msg) {  
13 - fragment.textView.setText(msg);  
14 - }  
15 -}  
app/strike/src/main/java/com/cnlive/strike/MyPresenter.java deleted 100644 → 0
1 -package com.cnlive.strike;  
2 -  
3 -import com.cnlive.core.libs.base.frame.presenter.BasePresenter;  
4 -  
5 -public class MyPresenter extends BasePresenter<MyFragmentView> {  
6 - public void setData(String msg) {  
7 -// getView().setData(msg);  
8 - }  
9 -}  
app/strike/src/main/java/com/cnlive/strike/MyPresenter1.java deleted 100644 → 0
1 -package com.cnlive.strike;  
2 -  
3 -import com.cnlive.core.libs.base.frame.presenter.BasePresenter;  
4 -  
5 -public class MyPresenter1 extends BasePresenter<MyFragment1View> {  
6 - public void setData1(String msg) {  
7 - getView().setData1(msg);  
8 - }  
9 -}  
app/strike/src/main/java/com/cnlive/strike/demo/activity/DemoActivity.java
1 package com.cnlive.strike.demo.activity; 1 package com.cnlive.strike.demo.activity;
2 2
3 -import android.Manifest;  
4 -import android.util.Log;  
5 -import android.view.View;  
6 -  
7 import com.cnlive.core.libs.base.frame.activity.BaseActivity; 3 import com.cnlive.core.libs.base.frame.activity.BaseActivity;
8 -import com.cnlive.core.libs.base.interfaces.OnPermissionResponseListener;  
9 import com.cnlive.core.libs.base.util.StatusBarConfig; 4 import com.cnlive.core.libs.base.util.StatusBarConfig;
10 -import com.cnlive.strike.MyFragment;  
11 import com.cnlive.strike.R; 5 import com.cnlive.strike.R;
12 -import com.cnlive.strike.base.BuildConfig;  
13 6
14 /** 7 /**
15 * 继承BaseActivity 8 * 继承BaseActivity
@@ -77,71 +70,6 @@ public class DemoActivity extends BaseActivity { @@ -77,71 +70,6 @@ public class DemoActivity extends BaseActivity {
77 //px2dp 70 //px2dp
78 px2dp(10); 71 px2dp(10);
79 72
80 - loadRootFragment(new MyFragment());  
81 -  
82 -// String[] permissions = new String[]{Manifest.permission.ACCESS_FINE_LOCATION,  
83 -// Manifest.permission.ACCESS_COARSE_LOCATION};  
84 -// //请求权限(默认提示语的)  
85 -// requestPermission(permissions, new OnPermissionResponseListener() {  
86 -// @Override  
87 -// public void onSuccess(String[] permissions) {  
88 -//  
89 -// }  
90 -//  
91 -// @Override  
92 -// public void onFail() {  
93 -//  
94 -// }  
95 -// });  
96 -// //请求权限,自定义状态码,使用默认提示语  
97 -// requestPermission(1001, permissions, new OnPermissionResponseListener() {  
98 -// @Override  
99 -// public void onSuccess(String[] permissions) {  
100 -//  
101 -// }  
102 -//  
103 -// @Override  
104 -// public void onFail() {  
105 -//  
106 -// }  
107 -// });  
108 -// //请求权限,自定义状态码,自定义拒绝提示语  
109 -// requestPermission(1001, "拒绝提示语", permissions, new OnPermissionResponseListener() {  
110 -// @Override  
111 -// public void onSuccess(String[] permissions) {  
112 -//  
113 -// }  
114 -//  
115 -// @Override  
116 -// public void onFail() {  
117 -//  
118 -// }  
119 -// });  
120 -  
121 -// findViewById(R.id.go_to1).setOnClickListener(new View.OnClickListener() {  
122 -// @Override  
123 -// public void onClick(View v) {  
124 -// logError("Ada");  
125 -// loadRootFragment(R.id.fl_container,new MyFragment());  
126 -//// start(new MyFragment());  
127 -// }  
128 -// });  
129 -// findViewById(R.id.go_to2).setOnClickListener(new View.OnClickListener() {  
130 -// @Override  
131 -// public void onClick(View v) {  
132 -// requestPermission(10010, "拒绝我了", new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {  
133 -// @Override  
134 -// public void onSuccess(String[] permissions) {  
135 -// Log.e(TAG, "onSuccess: ");  
136 -// }  
137 -//  
138 -// @Override  
139 -// public void onFail() {  
140 -// Log.e(TAG, "onFail: ");  
141 -// }  
142 -// });  
143 -// }  
144 -// });  
145 } 73 }
146 74
147 /** 75 /**
app/strike/src/main/java/com/cnlive/strike/demo/activity/DemoAnimActivity.java 0 → 100644
  1 +package com.cnlive.strike.demo.activity;
  2 +
  3 +import android.animation.Animator;
  4 +import android.app.Activity;
  5 +import android.content.Intent;
  6 +import android.os.Bundle;
  7 +import android.view.Menu;
  8 +import android.view.MenuItem;
  9 +import android.view.View;
  10 +import android.view.animation.AccelerateDecelerateInterpolator;
  11 +import android.widget.AdapterView;
  12 +import android.widget.ListView;
  13 +import android.widget.Toast;
  14 +
  15 +import com.cnlive.core.libs.base.frame.activity.BaseActivity;
  16 +import com.cnlive.strike.R;
  17 +import com.daimajia.androidanimations.library.Techniques;
  18 +import com.daimajia.androidanimations.library.YoYo;
  19 +
  20 +public class DemoAnimActivity extends BaseActivity {
  21 +
  22 + private ListView mListView;
  23 + private EffectAdapter mAdapter;
  24 + private View mTarget;
  25 + private YoYo.YoYoString rope;
  26 +
  27 + @Override
  28 + protected int getViewLayoutId() {
  29 + return R.layout.activity_demo_anim;
  30 + }
  31 +
  32 + @Override
  33 + protected void initView() {
  34 + super.initView();
  35 + mListView = (ListView) findViewById(R.id.list_items);
  36 + mTarget = findViewById(R.id.hello_world);
  37 +
  38 + mAdapter = new EffectAdapter(this);
  39 + mListView.setAdapter(mAdapter);
  40 +
  41 + mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  42 + @Override
  43 + public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  44 + if (rope != null) {
  45 + rope.stop(true);
  46 + }
  47 + Techniques technique = (Techniques) view.getTag();
  48 + rope = YoYo.with(technique)
  49 + .duration(1200)
  50 + .repeat(YoYo.INFINITE)
  51 + .pivot(YoYo.CENTER_PIVOT, YoYo.CENTER_PIVOT)
  52 + .interpolate(new AccelerateDecelerateInterpolator())
  53 + .withListener(new Animator.AnimatorListener() {
  54 + @Override
  55 + public void onAnimationStart(Animator animation) {
  56 +
  57 + }
  58 +
  59 + @Override
  60 + public void onAnimationEnd(Animator animation) {
  61 + }
  62 +
  63 + @Override
  64 + public void onAnimationCancel(Animator animation) {
  65 + Toast.makeText(DemoAnimActivity.this, "canceled previous animation", Toast.LENGTH_SHORT).show();
  66 + }
  67 +
  68 + @Override
  69 + public void onAnimationRepeat(Animator animation) {
  70 +
  71 + }
  72 + })
  73 + .playOn(mTarget);
  74 + }
  75 + });
  76 + findViewById(R.id.hello_world).setOnClickListener(new View.OnClickListener() {
  77 + @Override
  78 + public void onClick(View v) {
  79 + if (rope != null) {
  80 + rope.stop(true);
  81 + }
  82 + }
  83 + });
  84 +
  85 + }
  86 +
  87 +
  88 + @Override
  89 + public void onWindowFocusChanged(boolean hasFocus) {
  90 + if (hasFocus) {
  91 + rope = YoYo.with(Techniques.FadeIn).duration(1000).playOn(mTarget);// after start,just click mTarget view, rope is not init
  92 + }
  93 + }
  94 +
  95 +}
app/strike/src/main/java/com/cnlive/strike/demo/activity/DemoFragment.java
1 package com.cnlive.strike.demo.activity; 1 package com.cnlive.strike.demo.activity;
2 2
3 import android.os.Handler; 3 import android.os.Handler;
4 -import android.os.Message;  
5 -  
6 -import androidx.annotation.NonNull;  
7 4
8 import com.cnlive.core.libs.base.frame.fragment.BaseFragment; 5 import com.cnlive.core.libs.base.frame.fragment.BaseFragment;
9 import com.cnlive.core.libs.base.util.QMUITipDialogUtil; 6 import com.cnlive.core.libs.base.util.QMUITipDialogUtil;
10 -import com.cnlive.strike.MyFragment;  
11 -  
12 -import org.greenrobot.eventbus.Subscribe;  
13 -import org.greenrobot.eventbus.ThreadMode;  
14 7
15 import java.util.Observable; 8 import java.util.Observable;
16 9
app/strike/src/main/java/com/cnlive/strike/demo/activity/DemoMvpActivity.java
1 package com.cnlive.strike.demo.activity; 1 package com.cnlive.strike.demo.activity;
2 2
  3 +import android.Manifest;
3 import android.content.Intent; 4 import android.content.Intent;
  5 +import android.os.Handler;
  6 +import android.os.Message;
4 import android.text.TextUtils; 7 import android.text.TextUtils;
5 import android.view.View; 8 import android.view.View;
6 9
  10 +import androidx.annotation.NonNull;
  11 +
7 import com.cnlive.core.libs.base.frame.activity.BaseActivity; 12 import com.cnlive.core.libs.base.frame.activity.BaseActivity;
  13 +import com.cnlive.core.libs.base.interfaces.OnPermissionResponseListener;
  14 +import com.cnlive.core.libs.base.util.QMUITipDialogUtil;
8 import com.cnlive.moudle.collectionTrace.ui.activity.RaceListActivity; 15 import com.cnlive.moudle.collectionTrace.ui.activity.RaceListActivity;
9 import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; 16 import com.cnlive.moudle.pedometer.commonInfo.CommonInfo;
10 import com.cnlive.moudle.pedometer.ui.activity.RunLineActivity; 17 import com.cnlive.moudle.pedometer.ui.activity.RunLineActivity;
@@ -21,9 +28,15 @@ import com.cnlive.strike.user.ui.activity.PersonalDataActivity; @@ -21,9 +28,15 @@ import com.cnlive.strike.user.ui.activity.PersonalDataActivity;
21 import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo; 28 import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo;
22 import com.cnlive.strike.xiaojiaspeaker.ui.activity.AllDeviceActivity; 29 import com.cnlive.strike.xiaojiaspeaker.ui.activity.AllDeviceActivity;
23 30
  31 +import org.greenrobot.eventbus.Subscribe;
  32 +import org.greenrobot.eventbus.ThreadMode;
  33 +
  34 +import java.util.Observable;
  35 +
24 36
25 public class DemoMvpActivity extends BaseActivity<DemoActivityView, DemoActivityPresenter> { 37 public class DemoMvpActivity extends BaseActivity<DemoActivityView, DemoActivityPresenter> {
26 public ActivityDemoMvpMainBinding binding; 38 public ActivityDemoMvpMainBinding binding;
  39 + private String[] permission = new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE};
27 40
28 @Override 41 @Override
29 protected void initBindingData() { 42 protected void initBindingData() {
@@ -113,5 +126,179 @@ public class DemoMvpActivity extends BaseActivity&lt;DemoActivityView, DemoActivity @@ -113,5 +126,179 @@ public class DemoMvpActivity extends BaseActivity&lt;DemoActivityView, DemoActivity
113 UserService.getInstance(me).getAppAccount().getFaceUrl()); 126 UserService.getInstance(me).getAppAccount().getFaceUrl());
114 } 127 }
115 }); 128 });
  129 + //获取Handler,onDestory自动解除
  130 + binding.btnHandler.setOnClickListener(new View.OnClickListener() {
  131 + @Override
  132 + public void onClick(View v) {
  133 + Handler myHandler = getMyActHandler();
  134 + myHandler.sendEmptyMessage(123);
  135 + }
  136 + });
  137 +
  138 + //注册Eventbus
  139 + binding.btnEventbus.setOnClickListener(new View.OnClickListener() {
  140 + @Override
  141 + public void onClick(View v) {
  142 + registerEventBus();
  143 + postEvent("发送的postEvent");
  144 +// postStickyEvent("发送的粘性postEvent");
  145 + }
  146 + });
  147 + //添加观察者,onDestory自动解除
  148 + binding.btnObser.setOnClickListener(new View.OnClickListener() {
  149 + @Override
  150 + public void onClick(View v) {
  151 + addObservable(MyOb.getInstance(),MyOb.getInstance(),MyOb.getInstance());
  152 + MyOb.getInstance().noti("观察者信息");
  153 + }
  154 + });
  155 + //动画特效
  156 + binding.btnAnim.setOnClickListener(new View.OnClickListener() {
  157 + @Override
  158 + public void onClick(View v) {
  159 + startActivity(new Intent(me, DemoAnimActivity.class));
  160 + }
  161 + });
  162 +
  163 + //默认权限申请
  164 + binding.btnDefaultPermiss.setOnClickListener(new View.OnClickListener() {
  165 + @Override
  166 + public void onClick(View v) {
  167 + requestPermission(permission, new OnPermissionResponseListener() {
  168 + @Override
  169 + public void onSuccess(String[] permissions) {
  170 +
  171 + }
  172 +
  173 + @Override
  174 + public void onFail() {
  175 +
  176 + }
  177 + });
  178 + }
  179 + });
  180 + //默认权限申请,有提示框,拒绝后关闭当前activity
  181 + binding.btnDefaultCloseHasDailog.setOnClickListener(new View.OnClickListener() {
  182 + @Override
  183 + public void onClick(View v) {
  184 + requestPermission(true, permission, new OnPermissionResponseListener() {
  185 + @Override
  186 + public void onSuccess(String[] permissions) {
  187 +
  188 + }
  189 +
  190 + @Override
  191 + public void onFail() {
  192 +
  193 + }
  194 + });
  195 + }
  196 + });
  197 + //默认权限申请,无提示框,拒绝后关闭当前activity
  198 + binding.btnDefaultCloseNoDailog.setOnClickListener(new View.OnClickListener() {
  199 + @Override
  200 + public void onClick(View v) {
  201 + requestPermission(true, permission, false, new OnPermissionResponseListener() {
  202 + @Override
  203 + public void onSuccess(String[] permissions) {
  204 +
  205 + }
  206 +
  207 + @Override
  208 + public void onFail() {
  209 +
  210 + }
  211 + });
  212 + }
  213 + });
  214 + //默认权限申请,无提示框
  215 + binding.btnDefaultPermissNo.setOnClickListener(new View.OnClickListener() {
  216 + @Override
  217 + public void onClick(View v) {
  218 + requestPermission(permission, false, new OnPermissionResponseListener() {
  219 + @Override
  220 + public void onSuccess(String[] permissions) {
  221 +
  222 + }
  223 +
  224 + @Override
  225 + public void onFail() {
  226 +
  227 + }
  228 + });
  229 + }
  230 + });
  231 + //默认权限申请,自定义申请码
  232 + binding.btnDefaultPermissCode.setOnClickListener(new View.OnClickListener() {
  233 + @Override
  234 + public void onClick(View v) {
  235 + requestPermission(1001, permission, new OnPermissionResponseListener() {
  236 + @Override
  237 + public void onSuccess(String[] permissions) {
  238 +
  239 + }
  240 +
  241 + @Override
  242 + public void onFail() {
  243 +
  244 + }
  245 + });
  246 + }
  247 + });
  248 + //默认权限申请,自定义申请码,自定义提示语
  249 + binding.btnDefaultPermissCodeTip.setOnClickListener(new View.OnClickListener() {
  250 + @Override
  251 + public void onClick(View v) {
  252 + requestPermission(1001, "我的提示语", permission, new OnPermissionResponseListener() {
  253 + @Override
  254 + public void onSuccess(String[] permissions) {
  255 +
  256 + }
  257 +
  258 + @Override
  259 + public void onFail() {
  260 +
  261 + }
  262 + });
  263 + }
  264 + });
  265 + //默认权限申请,自定义提示语
  266 + binding.btnDefaultPermissTip.setOnClickListener(new View.OnClickListener() {
  267 + @Override
  268 + public void onClick(View v) {
  269 + requestPermission("我的提示语", permission, new OnPermissionResponseListener() {
  270 + @Override
  271 + public void onSuccess(String[] permissions) {
  272 +
  273 + }
  274 +
  275 + @Override
  276 + public void onFail() {
  277 +
  278 + }
  279 + });
  280 + }
  281 + });
  282 + }
  283 +
  284 + @Subscribe(threadMode = ThreadMode.MAIN)
  285 + public void onMainEvent(String s) {
  286 + QMUITipDialogUtil.textDialog(me, s, 2);
  287 + }
  288 +
  289 + @Override
  290 + public void onReceiveActHandleMessage(@NonNull Message msg) {
  291 + super.onReceiveActHandleMessage(msg);
  292 + if (msg.what == 123) {
  293 + QMUITipDialogUtil.textDialog(me, "发送的一条空消息", 2);
  294 + }
  295 + }
  296 +
  297 + @Override
  298 + public void update(Observable o, Object data) {
  299 + super.update(o, data);
  300 + if (o instanceof MyOb){
  301 + QMUITipDialogUtil.textDialog(me, (String) data, 2);
  302 + }
116 } 303 }
117 } 304 }
app/strike/src/main/java/com/cnlive/strike/demo/activity/EffectAdapter.java 0 → 100644
  1 +package com.cnlive.strike.demo.activity;
  2 +
  3 +import android.content.Context;
  4 +import android.view.LayoutInflater;
  5 +import android.view.View;
  6 +import android.view.ViewGroup;
  7 +import android.widget.BaseAdapter;
  8 +import android.widget.TextView;
  9 +
  10 +import com.cnlive.strike.R;
  11 +import com.daimajia.androidanimations.library.Techniques;
  12 +
  13 +public class EffectAdapter extends BaseAdapter {
  14 +
  15 + private Context mContext;
  16 +
  17 + public EffectAdapter(Context context){
  18 + mContext = context;
  19 + }
  20 +
  21 + @Override
  22 + public int getCount() {
  23 + return Techniques.values().length;
  24 + }
  25 +
  26 + @Override
  27 + public Object getItem(int position) {
  28 + return Techniques.values()[position].getAnimator();
  29 + }
  30 +
  31 + @Override
  32 + public long getItemId(int position) {
  33 + return position;
  34 + }
  35 +
  36 + @Override
  37 + public View getView(final int position, View convertView, ViewGroup parent) {
  38 + View v = LayoutInflater.from(mContext).inflate(R.layout.item_demo_anim,null,false);
  39 + TextView t = (TextView)v.findViewById(R.id.list_item_text);
  40 + Object o = getItem(position);
  41 + int start = o.getClass().getName().lastIndexOf(".") + 1;
  42 + String name = o.getClass().getName().substring(start);
  43 + t.setText(name);
  44 + v.setTag(Techniques.values()[position]);
  45 + return v;
  46 + }
  47 +}
app/strike/src/main/res/layout/activity_demo_anim.xml 0 → 100644
  1 +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2 + xmlns:tools="http://schemas.android.com/tools"
  3 + android:layout_width="match_parent"
  4 + android:layout_height="match_parent"
  5 + android:paddingLeft="@dimen/activity_horizontal_margin"
  6 + android:paddingTop="@dimen/activity_vertical_margin"
  7 + android:paddingRight="@dimen/activity_horizontal_margin"
  8 + android:paddingBottom="@dimen/activity_vertical_margin"
  9 + tools:context=".MyActivity">
  10 +
  11 + <LinearLayout
  12 + android:id="@+id/wrapper"
  13 + android:layout_width="match_parent"
  14 + android:layout_height="wrap_content">
  15 +
  16 + <TextView
  17 + android:id="@+id/hello_world"
  18 + android:layout_width="wrap_content"
  19 + android:layout_height="wrap_content"
  20 + android:layout_centerHorizontal="true"
  21 + android:layout_weight="1"
  22 + android:gravity="center"
  23 + android:padding="30dp"
  24 + android:text="hello world"
  25 + android:textSize="40sp" />
  26 + </LinearLayout>
  27 +
  28 + <ListView
  29 + android:id="@+id/list_items"
  30 + android:layout_width="wrap_content"
  31 + android:layout_height="wrap_content"
  32 + android:layout_below="@+id/wrapper" />
  33 +</RelativeLayout>
0 \ No newline at end of file 34 \ No newline at end of file
app/strike/src/main/res/layout/activity_demo_mvp_main.xml
@@ -63,6 +63,83 @@ @@ -63,6 +63,83 @@
63 android:layout_height="wrap_content" 63 android:layout_height="wrap_content"
64 android:layout_margin="5dp" 64 android:layout_margin="5dp"
65 android:text="路径工具" /> 65 android:text="路径工具" />
  66 +
  67 + <Button
  68 + android:id="@+id/btn_handler"
  69 + android:layout_width="match_parent"
  70 + android:layout_height="wrap_content"
  71 + android:layout_margin="5dp"
  72 + android:text="获取Handler,onDestory自动解除" />
  73 +
  74 + <Button
  75 + android:id="@+id/btn_eventbus"
  76 + android:layout_width="match_parent"
  77 + android:layout_height="wrap_content"
  78 + android:layout_margin="5dp"
  79 + android:text="注册Eventbus,onDestory自动解除" />
  80 +
  81 + <Button
  82 + android:id="@+id/btn_obser"
  83 + android:layout_width="match_parent"
  84 + android:layout_height="wrap_content"
  85 + android:layout_margin="5dp"
  86 + android:text="添加观察者,onDestory自动解除" />
  87 +
  88 + <Button
  89 + android:id="@+id/btn_anim"
  90 + android:layout_width="match_parent"
  91 + android:layout_height="wrap_content"
  92 + android:layout_margin="5dp"
  93 + android:text="动画特效" />
  94 +
  95 + <Button
  96 + android:id="@+id/btn_default_permiss"
  97 + android:layout_width="match_parent"
  98 + android:layout_height="wrap_content"
  99 + android:layout_margin="5dp"
  100 + android:text="默认权限申请" />
  101 +
  102 + <Button
  103 + android:id="@+id/btn_default_close_has_dailog"
  104 + android:layout_width="match_parent"
  105 + android:layout_height="wrap_content"
  106 + android:layout_margin="5dp"
  107 + android:text="默认权限申请,有提示框,拒绝后关闭当前activity" />
  108 +
  109 + <Button
  110 + android:id="@+id/btn_default_close_no_dailog"
  111 + android:layout_width="match_parent"
  112 + android:layout_height="wrap_content"
  113 + android:layout_margin="5dp"
  114 + android:text="默认权限申请,无提示框,拒绝后关闭当前activity" />
  115 +
  116 + <Button
  117 + android:id="@+id/btn_default_permiss_no"
  118 + android:layout_width="match_parent"
  119 + android:layout_height="wrap_content"
  120 + android:layout_margin="5dp"
  121 + android:text="默认权限申请,无拒绝提示框" />
  122 +
  123 + <Button
  124 + android:id="@+id/btn_default_permiss_code"
  125 + android:layout_width="match_parent"
  126 + android:layout_height="wrap_content"
  127 + android:layout_margin="5dp"
  128 + android:text="默认权限申请,自定义申请码" />
  129 +
  130 + <Button
  131 + android:id="@+id/btn_default_permiss_tip"
  132 + android:layout_width="match_parent"
  133 + android:layout_height="wrap_content"
  134 + android:layout_margin="5dp"
  135 + android:text="默认权限申请,自定义提示语" />
  136 +
  137 + <Button
  138 + android:id="@+id/btn_default_permiss_code_tip"
  139 + android:layout_width="match_parent"
  140 + android:layout_height="wrap_content"
  141 + android:layout_margin="5dp"
  142 + android:text="默认权限申请,自定义申请码,自定义提示语" />
66 </LinearLayout> 143 </LinearLayout>
67 </androidx.core.widget.NestedScrollView> 144 </androidx.core.widget.NestedScrollView>
68 </LinearLayout> 145 </LinearLayout>
app/strike/src/main/res/layout/item_demo_anim.xml 0 → 100644
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +
  3 +<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  4 + android:layout_width="match_parent"
  5 + android:layout_height="50dp"
  6 + android:id="@+id/list_item_text"
  7 + android:textSize="16sp"
  8 + android:gravity="left|center_vertical"
  9 + android:padding="10dp" />
0 \ No newline at end of file 10 \ No newline at end of file
core/base/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library;
  26 +
  27 +import android.animation.Animator;
  28 +import android.animation.AnimatorSet;
  29 +import android.animation.ValueAnimator;
  30 +import android.view.View;
  31 +import android.view.animation.Interpolator;
  32 +
  33 +import androidx.core.view.ViewCompat;
  34 +
  35 +
  36 +public abstract class BaseViewAnimator {
  37 +
  38 + public static final long DURATION = 1000;
  39 +
  40 + private AnimatorSet mAnimatorSet;
  41 +
  42 + private long mDuration = DURATION;
  43 + private int mRepeatTimes = 0;
  44 + private int mRepeatMode = ValueAnimator.RESTART;
  45 +
  46 + {
  47 + mAnimatorSet = new AnimatorSet();
  48 + }
  49 +
  50 +
  51 + protected abstract void prepare(View target);
  52 +
  53 + public BaseViewAnimator setTarget(View target) {
  54 + reset(target);
  55 + prepare(target);
  56 + return this;
  57 + }
  58 +
  59 + public void animate() {
  60 + start();
  61 + }
  62 +
  63 + public void restart() {
  64 + mAnimatorSet = mAnimatorSet.clone();
  65 + start();
  66 + }
  67 +
  68 + /**
  69 + * reset the view to default status
  70 + *
  71 + * @param target
  72 + */
  73 + public void reset(View target) {
  74 + ViewCompat.setAlpha(target, 1);
  75 + ViewCompat.setScaleX(target, 1);
  76 + ViewCompat.setScaleY(target, 1);
  77 + ViewCompat.setTranslationX(target, 0);
  78 + ViewCompat.setTranslationY(target, 0);
  79 + ViewCompat.setRotation(target, 0);
  80 + ViewCompat.setRotationY(target, 0);
  81 + ViewCompat.setRotationX(target, 0);
  82 + }
  83 +
  84 + /**
  85 + * start to animate
  86 + */
  87 + public void start() {
  88 + for (Animator animator : mAnimatorSet.getChildAnimations()) {
  89 + if (animator instanceof ValueAnimator) {
  90 + ((ValueAnimator) animator).setRepeatCount(mRepeatTimes);
  91 + ((ValueAnimator) animator).setRepeatMode(mRepeatMode);
  92 + }
  93 + }
  94 + mAnimatorSet.setDuration(mDuration);
  95 + mAnimatorSet.start();
  96 + }
  97 +
  98 + public BaseViewAnimator setDuration(long duration) {
  99 + mDuration = duration;
  100 + return this;
  101 + }
  102 +
  103 + public BaseViewAnimator setStartDelay(long delay) {
  104 + getAnimatorAgent().setStartDelay(delay);
  105 + return this;
  106 + }
  107 +
  108 + public long getStartDelay() {
  109 + return mAnimatorSet.getStartDelay();
  110 + }
  111 +
  112 + public BaseViewAnimator addAnimatorListener(Animator.AnimatorListener l) {
  113 + mAnimatorSet.addListener(l);
  114 + return this;
  115 + }
  116 +
  117 + public void cancel() {
  118 + mAnimatorSet.cancel();
  119 + }
  120 +
  121 + public boolean isRunning() {
  122 + return mAnimatorSet.isRunning();
  123 + }
  124 +
  125 + public boolean isStarted() {
  126 + return mAnimatorSet.isStarted();
  127 + }
  128 +
  129 + public void removeAnimatorListener(Animator.AnimatorListener l) {
  130 + mAnimatorSet.removeListener(l);
  131 + }
  132 +
  133 + public void removeAllListener() {
  134 + mAnimatorSet.removeAllListeners();
  135 + }
  136 +
  137 + public BaseViewAnimator setInterpolator(Interpolator interpolator) {
  138 + mAnimatorSet.setInterpolator(interpolator);
  139 + return this;
  140 + }
  141 +
  142 + public long getDuration() {
  143 + return mDuration;
  144 + }
  145 +
  146 + public AnimatorSet getAnimatorAgent() {
  147 + return mAnimatorSet;
  148 + }
  149 +
  150 + public BaseViewAnimator setRepeatTimes(int repeatTimes) {
  151 + mRepeatTimes = repeatTimes;
  152 + return this;
  153 + }
  154 +
  155 + public BaseViewAnimator setRepeatMode(int repeatMode) {
  156 + mRepeatMode = repeatMode;
  157 + return this;
  158 + }
  159 +}
core/base/src/main/java/com/daimajia/androidanimations/library/Techniques.java 0 → 100644
  1 +
  2 +/*
  3 + * The MIT License (MIT)
  4 + *
  5 + * Copyright (c) 2014 daimajia
  6 + *
  7 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  8 + * of this software and associated documentation files (the "Software"), to deal
  9 + * in the Software without restriction, including without limitation the rights
  10 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11 + * copies of the Software, and to permit persons to whom the Software is
  12 + * furnished to do so, subject to the following conditions:
  13 + *
  14 + * The above copyright notice and this permission notice shall be included in all
  15 + * copies or substantial portions of the Software.
  16 + *
  17 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  22 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  23 + * SOFTWARE.
  24 + */
  25 +
  26 +package com.daimajia.androidanimations.library;
  27 +
  28 +import com.daimajia.androidanimations.library.attention.BounceAnimator;
  29 +import com.daimajia.androidanimations.library.attention.FlashAnimator;
  30 +import com.daimajia.androidanimations.library.attention.PulseAnimator;
  31 +import com.daimajia.androidanimations.library.attention.RubberBandAnimator;
  32 +import com.daimajia.androidanimations.library.attention.ShakeAnimator;
  33 +import com.daimajia.androidanimations.library.attention.StandUpAnimator;
  34 +import com.daimajia.androidanimations.library.attention.SwingAnimator;
  35 +import com.daimajia.androidanimations.library.attention.TadaAnimator;
  36 +import com.daimajia.androidanimations.library.attention.WaveAnimator;
  37 +import com.daimajia.androidanimations.library.attention.WobbleAnimator;
  38 +import com.daimajia.androidanimations.library.bouncing_entrances.BounceInAnimator;
  39 +import com.daimajia.androidanimations.library.bouncing_entrances.BounceInDownAnimator;
  40 +import com.daimajia.androidanimations.library.bouncing_entrances.BounceInLeftAnimator;
  41 +import com.daimajia.androidanimations.library.bouncing_entrances.BounceInRightAnimator;
  42 +import com.daimajia.androidanimations.library.bouncing_entrances.BounceInUpAnimator;
  43 +import com.daimajia.androidanimations.library.fading_entrances.FadeInAnimator;
  44 +import com.daimajia.androidanimations.library.fading_entrances.FadeInDownAnimator;
  45 +import com.daimajia.androidanimations.library.fading_entrances.FadeInLeftAnimator;
  46 +import com.daimajia.androidanimations.library.fading_entrances.FadeInRightAnimator;
  47 +import com.daimajia.androidanimations.library.fading_entrances.FadeInUpAnimator;
  48 +import com.daimajia.androidanimations.library.fading_exits.FadeOutAnimator;
  49 +import com.daimajia.androidanimations.library.fading_exits.FadeOutDownAnimator;
  50 +import com.daimajia.androidanimations.library.fading_exits.FadeOutLeftAnimator;
  51 +import com.daimajia.androidanimations.library.fading_exits.FadeOutRightAnimator;
  52 +import com.daimajia.androidanimations.library.fading_exits.FadeOutUpAnimator;
  53 +import com.daimajia.androidanimations.library.flippers.FlipInXAnimator;
  54 +import com.daimajia.androidanimations.library.flippers.FlipInYAnimator;
  55 +import com.daimajia.androidanimations.library.flippers.FlipOutXAnimator;
  56 +import com.daimajia.androidanimations.library.flippers.FlipOutYAnimator;
  57 +import com.daimajia.androidanimations.library.rotating_entrances.RotateInAnimator;
  58 +import com.daimajia.androidanimations.library.rotating_entrances.RotateInDownLeftAnimator;
  59 +import com.daimajia.androidanimations.library.rotating_entrances.RotateInDownRightAnimator;
  60 +import com.daimajia.androidanimations.library.rotating_entrances.RotateInUpLeftAnimator;
  61 +import com.daimajia.androidanimations.library.rotating_entrances.RotateInUpRightAnimator;
  62 +import com.daimajia.androidanimations.library.rotating_exits.RotateOutAnimator;
  63 +import com.daimajia.androidanimations.library.rotating_exits.RotateOutDownLeftAnimator;
  64 +import com.daimajia.androidanimations.library.rotating_exits.RotateOutDownRightAnimator;
  65 +import com.daimajia.androidanimations.library.rotating_exits.RotateOutUpLeftAnimator;
  66 +import com.daimajia.androidanimations.library.rotating_exits.RotateOutUpRightAnimator;
  67 +import com.daimajia.androidanimations.library.sliders.SlideInDownAnimator;
  68 +import com.daimajia.androidanimations.library.sliders.SlideInLeftAnimator;
  69 +import com.daimajia.androidanimations.library.sliders.SlideInRightAnimator;
  70 +import com.daimajia.androidanimations.library.sliders.SlideInUpAnimator;
  71 +import com.daimajia.androidanimations.library.sliders.SlideOutDownAnimator;
  72 +import com.daimajia.androidanimations.library.sliders.SlideOutLeftAnimator;
  73 +import com.daimajia.androidanimations.library.sliders.SlideOutRightAnimator;
  74 +import com.daimajia.androidanimations.library.sliders.SlideOutUpAnimator;
  75 +import com.daimajia.androidanimations.library.specials.HingeAnimator;
  76 +import com.daimajia.androidanimations.library.specials.RollInAnimator;
  77 +import com.daimajia.androidanimations.library.specials.RollOutAnimator;
  78 +import com.daimajia.androidanimations.library.specials.in.DropOutAnimator;
  79 +import com.daimajia.androidanimations.library.specials.in.LandingAnimator;
  80 +import com.daimajia.androidanimations.library.specials.out.TakingOffAnimator;
  81 +import com.daimajia.androidanimations.library.zooming_entrances.ZoomInAnimator;
  82 +import com.daimajia.androidanimations.library.zooming_entrances.ZoomInDownAnimator;
  83 +import com.daimajia.androidanimations.library.zooming_entrances.ZoomInLeftAnimator;
  84 +import com.daimajia.androidanimations.library.zooming_entrances.ZoomInRightAnimator;
  85 +import com.daimajia.androidanimations.library.zooming_entrances.ZoomInUpAnimator;
  86 +import com.daimajia.androidanimations.library.zooming_exits.ZoomOutAnimator;
  87 +import com.daimajia.androidanimations.library.zooming_exits.ZoomOutDownAnimator;
  88 +import com.daimajia.androidanimations.library.zooming_exits.ZoomOutLeftAnimator;
  89 +import com.daimajia.androidanimations.library.zooming_exits.ZoomOutRightAnimator;
  90 +import com.daimajia.androidanimations.library.zooming_exits.ZoomOutUpAnimator;
  91 +
  92 +public enum Techniques {
  93 +
  94 + DropOut(DropOutAnimator.class),
  95 + Landing(LandingAnimator.class),
  96 + TakingOff(TakingOffAnimator.class),
  97 +
  98 + Flash(FlashAnimator.class),
  99 + Pulse(PulseAnimator.class),
  100 + RubberBand(RubberBandAnimator.class),
  101 + Shake(ShakeAnimator.class),
  102 + Swing(SwingAnimator.class),
  103 + Wobble(WobbleAnimator.class),
  104 + Bounce(BounceAnimator.class),
  105 + Tada(TadaAnimator.class),
  106 + StandUp(StandUpAnimator.class),
  107 + Wave(WaveAnimator.class),
  108 +
  109 + Hinge(HingeAnimator.class),
  110 + RollIn(RollInAnimator.class),
  111 + RollOut(RollOutAnimator.class),
  112 +
  113 + BounceIn(BounceInAnimator.class),
  114 + BounceInDown(BounceInDownAnimator.class),
  115 + BounceInLeft(BounceInLeftAnimator.class),
  116 + BounceInRight(BounceInRightAnimator.class),
  117 + BounceInUp(BounceInUpAnimator.class),
  118 +
  119 + FadeIn(FadeInAnimator.class),
  120 + FadeInUp(FadeInUpAnimator.class),
  121 + FadeInDown(FadeInDownAnimator.class),
  122 + FadeInLeft(FadeInLeftAnimator.class),
  123 + FadeInRight(FadeInRightAnimator.class),
  124 +
  125 + FadeOut(FadeOutAnimator.class),
  126 + FadeOutDown(FadeOutDownAnimator.class),
  127 + FadeOutLeft(FadeOutLeftAnimator.class),
  128 + FadeOutRight(FadeOutRightAnimator.class),
  129 + FadeOutUp(FadeOutUpAnimator.class),
  130 +
  131 + FlipInX(FlipInXAnimator.class),
  132 + FlipOutX(FlipOutXAnimator.class),
  133 + FlipInY(FlipInYAnimator.class),
  134 + FlipOutY(FlipOutYAnimator.class),
  135 + RotateIn(RotateInAnimator.class),
  136 + RotateInDownLeft(RotateInDownLeftAnimator.class),
  137 + RotateInDownRight(RotateInDownRightAnimator.class),
  138 + RotateInUpLeft(RotateInUpLeftAnimator.class),
  139 + RotateInUpRight(RotateInUpRightAnimator.class),
  140 +
  141 + RotateOut(RotateOutAnimator.class),
  142 + RotateOutDownLeft(RotateOutDownLeftAnimator.class),
  143 + RotateOutDownRight(RotateOutDownRightAnimator.class),
  144 + RotateOutUpLeft(RotateOutUpLeftAnimator.class),
  145 + RotateOutUpRight(RotateOutUpRightAnimator.class),
  146 +
  147 + SlideInLeft(SlideInLeftAnimator.class),
  148 + SlideInRight(SlideInRightAnimator.class),
  149 + SlideInUp(SlideInUpAnimator.class),
  150 + SlideInDown(SlideInDownAnimator.class),
  151 +
  152 + SlideOutLeft(SlideOutLeftAnimator.class),
  153 + SlideOutRight(SlideOutRightAnimator.class),
  154 + SlideOutUp(SlideOutUpAnimator.class),
  155 + SlideOutDown(SlideOutDownAnimator.class),
  156 +
  157 + ZoomIn(ZoomInAnimator.class),
  158 + ZoomInDown(ZoomInDownAnimator.class),
  159 + ZoomInLeft(ZoomInLeftAnimator.class),
  160 + ZoomInRight(ZoomInRightAnimator.class),
  161 + ZoomInUp(ZoomInUpAnimator.class),
  162 +
  163 + ZoomOut(ZoomOutAnimator.class),
  164 + ZoomOutDown(ZoomOutDownAnimator.class),
  165 + ZoomOutLeft(ZoomOutLeftAnimator.class),
  166 + ZoomOutRight(ZoomOutRightAnimator.class),
  167 + ZoomOutUp(ZoomOutUpAnimator.class);
  168 +
  169 +
  170 +
  171 + private Class animatorClazz;
  172 +
  173 + private Techniques(Class clazz) {
  174 + animatorClazz = clazz;
  175 + }
  176 +
  177 + public BaseViewAnimator getAnimator() {
  178 + try {
  179 + return (BaseViewAnimator) animatorClazz.newInstance();
  180 + } catch (Exception e) {
  181 + throw new Error("Can not init animatorClazz instance");
  182 + }
  183 + }
  184 +}
core/base/src/main/java/com/daimajia/androidanimations/library/YoYo.java 0 → 100644
  1 +
  2 +/*
  3 + * The MIT License (MIT)
  4 + *
  5 + * Copyright (c) 2014 daimajia
  6 + *
  7 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  8 + * of this software and associated documentation files (the "Software"), to deal
  9 + * in the Software without restriction, including without limitation the rights
  10 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11 + * copies of the Software, and to permit persons to whom the Software is
  12 + * furnished to do so, subject to the following conditions:
  13 + *
  14 + * The above copyright notice and this permission notice shall be included in all
  15 + * copies or substantial portions of the Software.
  16 + *
  17 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  22 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  23 + * SOFTWARE.
  24 + */
  25 +
  26 +package com.daimajia.androidanimations.library;
  27 +
  28 +import android.animation.Animator;
  29 +import android.animation.ValueAnimator;
  30 +import android.view.View;
  31 +import android.view.animation.Interpolator;
  32 +
  33 +import androidx.core.view.ViewCompat;
  34 +
  35 +import java.util.ArrayList;
  36 +import java.util.List;
  37 +
  38 +public class YoYo {
  39 +
  40 + private static final long DURATION = BaseViewAnimator.DURATION;
  41 + private static final long NO_DELAY = 0;
  42 + public static final int INFINITE = -1;
  43 + public static final float CENTER_PIVOT = Float.MAX_VALUE;
  44 +
  45 + private BaseViewAnimator animator;
  46 + private long duration;
  47 + private long delay;
  48 + private boolean repeat;
  49 + private int repeatTimes;
  50 + private int repeatMode;
  51 + private Interpolator interpolator;
  52 + private float pivotX, pivotY;
  53 + private List<Animator.AnimatorListener> callbacks;
  54 + private View target;
  55 +
  56 + private YoYo(AnimationComposer animationComposer) {
  57 + animator = animationComposer.animator;
  58 + duration = animationComposer.duration;
  59 + delay = animationComposer.delay;
  60 + repeat = animationComposer.repeat;
  61 + repeatTimes = animationComposer.repeatTimes;
  62 + repeatMode = animationComposer.repeatMode;
  63 + interpolator = animationComposer.interpolator;
  64 + pivotX = animationComposer.pivotX;
  65 + pivotY = animationComposer.pivotY;
  66 + callbacks = animationComposer.callbacks;
  67 + target = animationComposer.target;
  68 + }
  69 +
  70 + public static AnimationComposer with(Techniques techniques) {
  71 + return new AnimationComposer(techniques);
  72 + }
  73 +
  74 + public static AnimationComposer with(BaseViewAnimator animator) {
  75 + return new AnimationComposer(animator);
  76 + }
  77 +
  78 + public interface AnimatorCallback {
  79 + public void call(Animator animator);
  80 + }
  81 +
  82 + private static class EmptyAnimatorListener implements Animator.AnimatorListener {
  83 + @Override
  84 + public void onAnimationStart(Animator animation) {
  85 + }
  86 +
  87 + @Override
  88 + public void onAnimationEnd(Animator animation) {
  89 + }
  90 +
  91 + @Override
  92 + public void onAnimationCancel(Animator animation) {
  93 + }
  94 +
  95 + @Override
  96 + public void onAnimationRepeat(Animator animation) {
  97 + }
  98 + }
  99 +
  100 + public static final class AnimationComposer {
  101 +
  102 + private List<Animator.AnimatorListener> callbacks = new ArrayList<>();
  103 +
  104 + private BaseViewAnimator animator;
  105 + private long duration = DURATION;
  106 +
  107 + private long delay = NO_DELAY;
  108 + private boolean repeat = false;
  109 + private int repeatTimes = 0;
  110 + private int repeatMode = ValueAnimator.RESTART;
  111 + private float pivotX = YoYo.CENTER_PIVOT, pivotY = YoYo.CENTER_PIVOT;
  112 + private Interpolator interpolator;
  113 + private View target;
  114 +
  115 + private AnimationComposer(Techniques techniques) {
  116 + this.animator = techniques.getAnimator();
  117 + }
  118 +
  119 + private AnimationComposer(BaseViewAnimator animator) {
  120 + this.animator = animator;
  121 + }
  122 +
  123 + public AnimationComposer duration(long duration) {
  124 + this.duration = duration;
  125 + return this;
  126 + }
  127 +
  128 + public AnimationComposer delay(long delay) {
  129 + this.delay = delay;
  130 + return this;
  131 + }
  132 +
  133 + public AnimationComposer interpolate(Interpolator interpolator) {
  134 + this.interpolator = interpolator;
  135 + return this;
  136 + }
  137 +
  138 + public AnimationComposer pivot(float pivotX, float pivotY) {
  139 + this.pivotX = pivotX;
  140 + this.pivotY = pivotY;
  141 + return this;
  142 + }
  143 +
  144 + public AnimationComposer pivotX(float pivotX) {
  145 + this.pivotX = pivotX;
  146 + return this;
  147 + }
  148 +
  149 + public AnimationComposer pivotY(float pivotY) {
  150 + this.pivotY = pivotY;
  151 + return this;
  152 + }
  153 +
  154 + public AnimationComposer repeat(int times) {
  155 + if (times < INFINITE) {
  156 + throw new RuntimeException("Can not be less than -1, -1 is infinite loop");
  157 + }
  158 + repeat = times != 0;
  159 + repeatTimes = times;
  160 + return this;
  161 + }
  162 +
  163 + public AnimationComposer repeatMode(int mode) {
  164 + repeatMode = mode;
  165 + return this;
  166 + }
  167 +
  168 + public AnimationComposer withListener(Animator.AnimatorListener listener) {
  169 + callbacks.add(listener);
  170 + return this;
  171 + }
  172 +
  173 + public AnimationComposer onStart(final AnimatorCallback callback) {
  174 + callbacks.add(new EmptyAnimatorListener() {
  175 + @Override
  176 + public void onAnimationStart(Animator animation) {
  177 + callback.call(animation);
  178 + }
  179 + });
  180 + return this;
  181 + }
  182 +
  183 + public AnimationComposer onEnd(final AnimatorCallback callback) {
  184 + callbacks.add(new EmptyAnimatorListener() {
  185 + @Override
  186 + public void onAnimationEnd(Animator animation) {
  187 + callback.call(animation);
  188 + }
  189 + });
  190 + return this;
  191 + }
  192 +
  193 + public AnimationComposer onCancel(final AnimatorCallback callback) {
  194 + callbacks.add(new EmptyAnimatorListener() {
  195 + @Override
  196 + public void onAnimationCancel(Animator animation) {
  197 + callback.call(animation);
  198 + }
  199 + });
  200 + return this;
  201 + }
  202 +
  203 + public AnimationComposer onRepeat(final AnimatorCallback callback) {
  204 + callbacks.add(new EmptyAnimatorListener() {
  205 + @Override
  206 + public void onAnimationRepeat(Animator animation) {
  207 + callback.call(animation);
  208 + }
  209 + });
  210 + return this;
  211 + }
  212 +
  213 + public YoYoString playOn(View target) {
  214 + this.target = target;
  215 + return new YoYoString(new YoYo(this).play(), this.target);
  216 + }
  217 +
  218 + }
  219 +
  220 + /**
  221 + * YoYo string, you can use this string to control your YoYo.
  222 + */
  223 + public static final class YoYoString {
  224 +
  225 + private BaseViewAnimator animator;
  226 + private View target;
  227 +
  228 + private YoYoString(BaseViewAnimator animator, View target) {
  229 + this.target = target;
  230 + this.animator = animator;
  231 + }
  232 +
  233 + public boolean isStarted() {
  234 + return animator.isStarted();
  235 + }
  236 +
  237 + public boolean isRunning() {
  238 + return animator.isRunning();
  239 + }
  240 +
  241 + public void stop() {
  242 + stop(true);
  243 + }
  244 +
  245 + public void stop(boolean reset) {
  246 + animator.cancel();
  247 +
  248 + if (reset)
  249 + animator.reset(target);
  250 + }
  251 + }
  252 +
  253 + private BaseViewAnimator play() {
  254 + animator.setTarget(target);
  255 +
  256 + if (pivotX == YoYo.CENTER_PIVOT) {
  257 + ViewCompat.setPivotX(target, target.getMeasuredWidth() / 2.0f);
  258 + } else {
  259 + target.setPivotX(pivotX);
  260 + }
  261 + if (pivotY == YoYo.CENTER_PIVOT) {
  262 + ViewCompat.setPivotY(target, target.getMeasuredHeight() / 2.0f);
  263 + } else {
  264 + target.setPivotY(pivotY);
  265 + }
  266 +
  267 + animator.setDuration(duration)
  268 + .setRepeatTimes(repeatTimes)
  269 + .setRepeatMode(repeatMode)
  270 + .setInterpolator(interpolator)
  271 + .setStartDelay(delay);
  272 +
  273 + if (callbacks.size() > 0) {
  274 + for (Animator.AnimatorListener callback : callbacks) {
  275 + animator.addAnimatorListener(callback);
  276 + }
  277 + }
  278 + animator.animate();
  279 + return animator;
  280 + }
  281 +
  282 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/BounceAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class BounceAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "translationY", 0, 0, -30, 0, -15, 0, 0)
  37 + );
  38 + }
  39 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/FlashAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FlashAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0, 1, 0, 1)
  37 + );
  38 + }
  39 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/PulseAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class PulseAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "scaleY", 1, 1.1f, 1),
  37 + ObjectAnimator.ofFloat(target, "scaleX", 1, 1.1f, 1)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/RubberBandAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RubberBandAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "scaleX", 1, 1.25f, 0.75f, 1.15f, 1),
  37 + ObjectAnimator.ofFloat(target, "scaleY", 1, 0.75f, 1.25f, 0.85f, 1)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/ShakeAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +
  28 +import android.animation.ObjectAnimator;
  29 +import android.view.View;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class ShakeAnimator extends BaseViewAnimator {
  34 + @Override
  35 + public void prepare(View target) {
  36 + getAnimatorAgent().playTogether(
  37 + ObjectAnimator.ofFloat(target, "translationX", 0, 25, -25, 25, -25, 15, -15, 6, -6, 0)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/StandUpAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +
  33 +public class StandUpAnimator extends BaseViewAnimator {
  34 + @Override
  35 + public void prepare(View target) {
  36 + float x = (target.getWidth() - target.getPaddingLeft() - target.getPaddingRight()) / 2
  37 + + target.getPaddingLeft();
  38 + float y = target.getHeight() - target.getPaddingBottom();
  39 + getAnimatorAgent().playTogether(
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x, x, x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y, y, y, y),
  42 + ObjectAnimator.ofFloat(target, "rotationX", 55, -30, 15, -15, 0)
  43 + );
  44 + }
  45 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/SwingAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class SwingAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "rotation", 0, 10, -10, 6, -6, 3, -3, 0)
  37 + );
  38 + }
  39 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/TadaAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class TadaAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "scaleX", 1, 0.9f, 0.9f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1),
  37 + ObjectAnimator.ofFloat(target, "scaleY", 1, 0.9f, 0.9f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1),
  38 + ObjectAnimator.ofFloat(target, "rotation", 0, -3, -3, 3, -3, 3, -3, 3, -3, 0)
  39 + );
  40 + }
  41 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/WaveAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class WaveAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = (target.getWidth() - target.getPaddingLeft() - target.getPaddingRight()) / 2
  36 + + target.getPaddingLeft();
  37 + float y = target.getHeight() - target.getPaddingBottom();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "rotation", 12, -12, 3, -3, 0),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x, x, x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y, y, y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/attention/WobbleAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.attention;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class WobbleAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float width = target.getWidth();
  36 + float one = (float) (width / 100.0);
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "translationX", 0 * one, -25 * one, 20 * one, -15 * one, 10 * one, -5 * one, 0 * one, 0),
  39 + ObjectAnimator.ofFloat(target, "rotation", 0, -5, 3, -3, 2, -1, 0)
  40 + );
  41 + }
  42 +}
core/base/src/main/java/com/daimajia/androidanimations/library/bouncing_entrances/BounceInAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.bouncing_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class BounceInAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1, 1),
  37 + ObjectAnimator.ofFloat(target, "scaleX", 0.3f, 1.05f, 0.9f, 1),
  38 + ObjectAnimator.ofFloat(target, "scaleY", 0.3f, 1.05f, 0.9f, 1)
  39 + );
  40 + }
  41 +}
core/base/src/main/java/com/daimajia/androidanimations/library/bouncing_entrances/BounceInDownAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.bouncing_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class BounceInDownAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1, 1),
  37 + ObjectAnimator.ofFloat(target, "translationY", -target.getHeight(), 30, -10, 0)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/bouncing_entrances/BounceInLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.bouncing_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class BounceInLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "translationX", -target.getWidth(), 30, -10, 0),
  37 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1, 1)
  38 + );
  39 + }
  40 +}
  41 +
core/base/src/main/java/com/daimajia/androidanimations/library/bouncing_entrances/BounceInRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.bouncing_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class BounceInRightAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "translationX", target.getMeasuredWidth() + target.getWidth(), -30, 10, 0),
  37 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1, 1)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/bouncing_entrances/BounceInUpAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.bouncing_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class BounceInUpAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "translationY", target.getMeasuredHeight(), -30, 10, 0),
  37 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1, 1)
  38 + );
  39 + }
  40 +
  41 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_entrances/FadeInAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeInAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 0, 1)
  37 + );
  38 + }
  39 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_entrances/FadeInDownAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeInDownAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  37 + ObjectAnimator.ofFloat(target, "translationY", -target.getHeight() / 4, 0)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_entrances/FadeInLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeInLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  37 + ObjectAnimator.ofFloat(target, "translationX", -target.getWidth() / 4, 0)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_entrances/FadeInRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeInRightAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  37 + ObjectAnimator.ofFloat(target, "translationX", target.getWidth() / 4, 0)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_entrances/FadeInUpAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeInUpAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  37 + ObjectAnimator.ofFloat(target, "translationY", target.getHeight() / 4, 0)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_exits/FadeOutAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeOutAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0)
  37 + );
  38 + }
  39 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_exits/FadeOutDownAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeOutDownAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  37 + ObjectAnimator.ofFloat(target, "translationY", 0, target.getHeight() / 4)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_exits/FadeOutLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeOutLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  37 + ObjectAnimator.ofFloat(target, "translationX", 0, -target.getWidth() / 4)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_exits/FadeOutRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeOutRightAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  37 + ObjectAnimator.ofFloat(target, "translationX", 0, target.getWidth() / 4)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/fading_exits/FadeOutUpAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.fading_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FadeOutUpAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  37 + ObjectAnimator.ofFloat(target, "translationY", 0, -target.getHeight() / 4)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/flippers/FlipInXAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.flippers;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FlipInXAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "rotationX", 90, -15, 15, 0),
  37 + ObjectAnimator.ofFloat(target, "alpha", 0.25f, 0.5f, 0.75f, 1)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/flippers/FlipInYAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.flippers;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FlipInYAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "rotationY", 90, -15, 15, 0),
  37 + ObjectAnimator.ofFloat(target, "alpha", 0.25f, 0.5f, 0.75f, 1)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/flippers/FlipOutXAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.flippers;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FlipOutXAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "rotationX", 0, 90),
  37 + ObjectAnimator.ofFloat(target, "alpha", 1, 0)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/flippers/FlipOutYAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.flippers;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class FlipOutYAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "rotationY", 0, 90),
  37 + ObjectAnimator.ofFloat(target, "alpha", 1, 0)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_entrances/RotateInAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateInAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "rotation", -200, 0),
  37 + ObjectAnimator.ofFloat(target, "alpha", 0, 1)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_entrances/RotateInDownLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateInDownLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = target.getPaddingLeft();
  36 + float y = target.getHeight() - target.getPaddingBottom();
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "rotation", -90, 0),
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_entrances/RotateInDownRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateInDownRightAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = target.getWidth() - target.getPaddingRight();
  36 + float y = target.getHeight() - target.getPaddingBottom();
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "rotation", 90, 0),
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_entrances/RotateInUpLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateInUpLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = target.getPaddingLeft();
  36 + float y = target.getHeight() - target.getPaddingBottom();
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "rotation", 90, 0),
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_entrances/RotateInUpRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateInUpRightAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = target.getWidth() - target.getPaddingRight();
  36 + float y = target.getHeight() - target.getPaddingBottom();
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "rotation", -90, 0),
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_exits/RotateOutAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateOutAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  37 + ObjectAnimator.ofFloat(target, "rotation", 0, 200)
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_exits/RotateOutDownLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateOutDownLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = target.getPaddingLeft();
  36 + float y = target.getHeight() - target.getPaddingBottom();
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  39 + ObjectAnimator.ofFloat(target, "rotation", 0, 90),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_exits/RotateOutDownRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateOutDownRightAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = target.getWidth() - target.getPaddingRight();
  36 + float y = target.getHeight() - target.getPaddingBottom();
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  39 + ObjectAnimator.ofFloat(target, "rotation", 0, -90),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_exits/RotateOutUpLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateOutUpLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = target.getPaddingLeft();
  36 + float y = target.getHeight() - target.getPaddingBottom();
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  39 + ObjectAnimator.ofFloat(target, "rotation", 0, -90),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/rotating_exits/RotateOutUpRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.rotating_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RotateOutUpRightAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + float x = target.getWidth() - target.getPaddingRight();
  36 + float y = target.getHeight() - target.getPaddingBottom();
  37 + getAnimatorAgent().playTogether(
  38 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  39 + ObjectAnimator.ofFloat(target, "rotation", 0, 90),
  40 + ObjectAnimator.ofFloat(target, "pivotX", x, x),
  41 + ObjectAnimator.ofFloat(target, "pivotY", y, y)
  42 + );
  43 + }
  44 +}
core/base/src/main/java/com/daimajia/androidanimations/library/sliders/SlideInDownAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.sliders;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class SlideInDownAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + int distance = target.getTop() + target.getHeight();
  36 + getAnimatorAgent().playTogether(
  37 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  38 + ObjectAnimator.ofFloat(target, "translationY", -distance, 0)
  39 + );
  40 + }
  41 +}
core/base/src/main/java/com/daimajia/androidanimations/library/sliders/SlideInLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.sliders;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +import android.view.ViewGroup;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class SlideInLeftAnimator extends BaseViewAnimator {
  34 + @Override
  35 + public void prepare(View target) {
  36 + ViewGroup parent = (ViewGroup) target.getParent();
  37 + int distance = parent.getWidth() - target.getLeft();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  40 + ObjectAnimator.ofFloat(target, "translationX", -distance, 0)
  41 + );
  42 + }
  43 +}
core/base/src/main/java/com/daimajia/androidanimations/library/sliders/SlideInRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.sliders;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +import android.view.ViewGroup;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class SlideInRightAnimator extends BaseViewAnimator {
  34 + @Override
  35 + public void prepare(View target) {
  36 + ViewGroup parent = (ViewGroup) target.getParent();
  37 + int distance = parent.getWidth() - target.getLeft();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  40 + ObjectAnimator.ofFloat(target, "translationX", distance, 0)
  41 + );
  42 + }
  43 +}
core/base/src/main/java/com/daimajia/androidanimations/library/sliders/SlideInUpAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.sliders;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +import android.view.ViewGroup;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class SlideInUpAnimator extends BaseViewAnimator {
  34 + @Override
  35 + public void prepare(View target) {
  36 + ViewGroup parent = (ViewGroup) target.getParent();
  37 + int distance = parent.getHeight() - target.getTop();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  40 + ObjectAnimator.ofFloat(target, "translationY", distance, 0)
  41 + );
  42 + }
  43 +}
core/base/src/main/java/com/daimajia/androidanimations/library/sliders/SlideOutDownAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.sliders;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +import android.view.ViewGroup;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class SlideOutDownAnimator extends BaseViewAnimator {
  34 + @Override
  35 + public void prepare(View target) {
  36 + ViewGroup parent = (ViewGroup) target.getParent();
  37 + int distance = parent.getHeight() - target.getTop();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  40 + ObjectAnimator.ofFloat(target, "translationY", 0, distance)
  41 + );
  42 + }
  43 +}
core/base/src/main/java/com/daimajia/androidanimations/library/sliders/SlideOutLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.sliders;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class SlideOutLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  37 + ObjectAnimator.ofFloat(target, "translationX", 0, -target.getRight())
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/sliders/SlideOutRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.sliders;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +import android.view.ViewGroup;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class SlideOutRightAnimator extends BaseViewAnimator {
  34 + @Override
  35 + public void prepare(View target) {
  36 + ViewGroup parent = (ViewGroup) target.getParent();
  37 + int distance = parent.getWidth() - target.getLeft();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  40 + ObjectAnimator.ofFloat(target, "translationX", 0, distance)
  41 + );
  42 + }
  43 +}
core/base/src/main/java/com/daimajia/androidanimations/library/sliders/SlideOutUpAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.sliders;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class SlideOutUpAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  37 + ObjectAnimator.ofFloat(target, "translationY", 0, -target.getBottom())
  38 + );
  39 + }
  40 +}
core/base/src/main/java/com/daimajia/androidanimations/library/specials/HingeAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.specials;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +import com.daimajia.easing.Glider;
  32 +import com.daimajia.easing.Skill;
  33 +
  34 +public class HingeAnimator extends BaseViewAnimator {
  35 + @Override
  36 + public void prepare(View target) {
  37 + float x = target.getPaddingLeft();
  38 + float y = target.getPaddingTop();
  39 + getAnimatorAgent().playTogether(
  40 + Glider.glide(Skill.SineEaseInOut, 1300, ObjectAnimator.ofFloat(target, "rotation", 0, 80, 60, 80, 60, 60)),
  41 + ObjectAnimator.ofFloat(target, "translationY", 0, 0, 0, 0, 0, 700),
  42 + ObjectAnimator.ofFloat(target, "alpha", 1, 1, 1, 1, 1, 0),
  43 + ObjectAnimator.ofFloat(target, "pivotX", x, x, x, x, x, x),
  44 + ObjectAnimator.ofFloat(target, "pivotY", y, y, y, y, y, y)
  45 + );
  46 +
  47 + setDuration(1300);
  48 + }
  49 +}
  50 +
core/base/src/main/java/com/daimajia/androidanimations/library/specials/RollInAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.specials;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RollInAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  37 + ObjectAnimator.ofFloat(target, "translationX", -(target.getWidth() - target.getPaddingLeft() - target.getPaddingRight()), 0),
  38 + ObjectAnimator.ofFloat(target, "rotation", -120, 0)
  39 + );
  40 + }
  41 +}
core/base/src/main/java/com/daimajia/androidanimations/library/specials/RollOutAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.specials;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class RollOutAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0),
  37 + ObjectAnimator.ofFloat(target, "translationX", 0, target.getWidth()),
  38 + ObjectAnimator.ofFloat(target, "rotation", 0, 120)
  39 + );
  40 + }
  41 +}
core/base/src/main/java/com/daimajia/androidanimations/library/specials/in/DropOutAnimator.java 0 → 100644
  1 +package com.daimajia.androidanimations.library.specials.in;
  2 +
  3 +import android.animation.ObjectAnimator;
  4 +import android.view.View;
  5 +
  6 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  7 +import com.daimajia.easing.Glider;
  8 +import com.daimajia.easing.Skill;
  9 +
  10 +public class DropOutAnimator extends BaseViewAnimator {
  11 + @Override
  12 + protected void prepare(View target) {
  13 + int distance = target.getTop() + target.getHeight();
  14 + getAnimatorAgent().playTogether(
  15 + ObjectAnimator.ofFloat(target, "alpha", 0, 1),
  16 + Glider.glide(Skill.BounceEaseOut, getDuration(), ObjectAnimator.ofFloat(target, "translationY", -distance, 0))
  17 + );
  18 + }
  19 +}
core/base/src/main/java/com/daimajia/androidanimations/library/specials/in/LandingAnimator.java 0 → 100644
  1 +package com.daimajia.androidanimations.library.specials.in;
  2 +
  3 +import android.animation.ObjectAnimator;
  4 +import android.view.View;
  5 +
  6 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  7 +import com.daimajia.easing.Glider;
  8 +import com.daimajia.easing.Skill;
  9 +
  10 +public class LandingAnimator extends BaseViewAnimator {
  11 + @Override
  12 + protected void prepare(View target) {
  13 + getAnimatorAgent().playTogether(
  14 + Glider.glide(Skill.QuintEaseOut, getDuration(), ObjectAnimator.ofFloat(target, "scaleX", 1.5f, 1f)),
  15 + Glider.glide(Skill.QuintEaseOut, getDuration(), ObjectAnimator.ofFloat(target, "scaleY", 1.5f, 1f)),
  16 + Glider.glide(Skill.QuintEaseOut, getDuration(), ObjectAnimator.ofFloat(target, "alpha", 0, 1f))
  17 + );
  18 + }
  19 +}
core/base/src/main/java/com/daimajia/androidanimations/library/specials/out/TakingOffAnimator.java 0 → 100644
  1 +package com.daimajia.androidanimations.library.specials.out;
  2 +
  3 +import android.animation.ObjectAnimator;
  4 +import android.view.View;
  5 +
  6 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  7 +import com.daimajia.easing.Glider;
  8 +import com.daimajia.easing.Skill;
  9 +
  10 +public class TakingOffAnimator extends BaseViewAnimator {
  11 + @Override
  12 + protected void prepare(View target) {
  13 + getAnimatorAgent().playTogether(
  14 + Glider.glide(Skill.QuintEaseOut, getDuration(), ObjectAnimator.ofFloat(target, "scaleX", 1f, 1.5f)),
  15 + Glider.glide(Skill.QuintEaseOut, getDuration(), ObjectAnimator.ofFloat(target, "scaleY", 1f, 1.5f)),
  16 + Glider.glide(Skill.QuintEaseOut, getDuration(), ObjectAnimator.ofFloat(target, "alpha", 1, 0))
  17 + );
  18 + }
  19 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_entrances/ZoomInAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class ZoomInAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "scaleX", 0.45f, 1),
  37 + ObjectAnimator.ofFloat(target, "scaleY", 0.45f, 1),
  38 + ObjectAnimator.ofFloat(target, "alpha", 0, 1)
  39 + );
  40 + }
  41 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_entrances/ZoomInDownAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class ZoomInDownAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "scaleX", 0.1f, 0.475f, 1),
  37 + ObjectAnimator.ofFloat(target, "scaleY", 0.1f, 0.475f, 1),
  38 + ObjectAnimator.ofFloat(target, "translationY", -target.getBottom(), 60, 0),
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1)
  40 + );
  41 + }
  42 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_entrances/ZoomInLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class ZoomInLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "scaleX", 0.1f, 0.475f, 1),
  37 + ObjectAnimator.ofFloat(target, "scaleY", 0.1f, 0.475f, 1),
  38 + ObjectAnimator.ofFloat(target, "translationX", -target.getRight(), 48, 0),
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1)
  40 + );
  41 + }
  42 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_entrances/ZoomInRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class ZoomInRightAnimator extends BaseViewAnimator {
  33 + @Override
  34 + public void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "scaleX", 0.1f, 0.475f, 1),
  37 + ObjectAnimator.ofFloat(target, "scaleY", 0.1f, 0.475f, 1),
  38 + ObjectAnimator.ofFloat(target, "translationX", target.getWidth() + target.getPaddingRight(), -48, 0),
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1)
  40 + );
  41 + }
  42 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_entrances/ZoomInUpAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_entrances;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +import android.view.ViewGroup;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class ZoomInUpAnimator extends BaseViewAnimator {
  34 + @Override
  35 + public void prepare(View target) {
  36 + ViewGroup parent = (ViewGroup) target.getParent();
  37 + int distance = parent.getHeight() - target.getTop();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "alpha", 0, 1, 1),
  40 + ObjectAnimator.ofFloat(target, "scaleX", 0.1f, 0.475f, 1),
  41 + ObjectAnimator.ofFloat(target, "scaleY", 0.1f, 0.475f, 1),
  42 + ObjectAnimator.ofFloat(target, "translationY", distance, -60, 0)
  43 + );
  44 + }
  45 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_exits/ZoomOutAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class ZoomOutAnimator extends BaseViewAnimator {
  33 + @Override
  34 + protected void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 0, 0),
  37 + ObjectAnimator.ofFloat(target, "scaleX", 1, 0.3f, 0),
  38 + ObjectAnimator.ofFloat(target, "scaleY", 1, 0.3f, 0)
  39 + );
  40 + }
  41 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_exits/ZoomOutDownAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +import android.view.ViewGroup;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class ZoomOutDownAnimator extends BaseViewAnimator {
  34 + @Override
  35 + protected void prepare(View target) {
  36 + ViewGroup parent = (ViewGroup) target.getParent();
  37 + int distance = parent.getHeight() - target.getTop();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "alpha", 1, 1, 0),
  40 + ObjectAnimator.ofFloat(target, "scaleX", 1, 0.475f, 0.1f),
  41 + ObjectAnimator.ofFloat(target, "scaleY", 1, 0.475f, 0.1f),
  42 + ObjectAnimator.ofFloat(target, "translationY", 0, -60, distance)
  43 + );
  44 + }
  45 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_exits/ZoomOutLeftAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class ZoomOutLeftAnimator extends BaseViewAnimator {
  33 + @Override
  34 + protected void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 1, 0),
  37 + ObjectAnimator.ofFloat(target, "scaleX", 1, 0.475f, 0.1f),
  38 + ObjectAnimator.ofFloat(target, "scaleY", 1, 0.475f, 0.1f),
  39 + ObjectAnimator.ofFloat(target, "translationX", 0, 42, -target.getRight())
  40 + );
  41 + }
  42 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_exits/ZoomOutRightAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +import android.view.ViewGroup;
  30 +
  31 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  32 +
  33 +public class ZoomOutRightAnimator extends BaseViewAnimator {
  34 + @Override
  35 + protected void prepare(View target) {
  36 + ViewGroup parent = (ViewGroup) target.getParent();
  37 + int distance = parent.getWidth() - parent.getLeft();
  38 + getAnimatorAgent().playTogether(
  39 + ObjectAnimator.ofFloat(target, "alpha", 1, 1, 0),
  40 + ObjectAnimator.ofFloat(target, "scaleX", 1, 0.475f, 0.1f),
  41 + ObjectAnimator.ofFloat(target, "scaleY", 1, 0.475f, 0.1f),
  42 + ObjectAnimator.ofFloat(target, "translationX", 0, -42, distance)
  43 + );
  44 + }
  45 +}
core/base/src/main/java/com/daimajia/androidanimations/library/zooming_exits/ZoomOutUpAnimator.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.androidanimations.library.zooming_exits;
  26 +
  27 +import android.animation.ObjectAnimator;
  28 +import android.view.View;
  29 +
  30 +import com.daimajia.androidanimations.library.BaseViewAnimator;
  31 +
  32 +public class ZoomOutUpAnimator extends BaseViewAnimator {
  33 + @Override
  34 + protected void prepare(View target) {
  35 + getAnimatorAgent().playTogether(
  36 + ObjectAnimator.ofFloat(target, "alpha", 1, 1, 0),
  37 + ObjectAnimator.ofFloat(target, "scaleX", 1, 0.475f, 0.1f),
  38 + ObjectAnimator.ofFloat(target, "scaleY", 1, 0.475f, 0.1f),
  39 + ObjectAnimator.ofFloat(target, "translationY", 0, 60, -target.getBottom())
  40 + );
  41 + }
  42 +}
core/base/src/main/java/com/daimajia/easing/BaseEasingMethod.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.easing;
  26 +
  27 +
  28 +import android.animation.TypeEvaluator;
  29 +
  30 +import java.util.ArrayList;
  31 +
  32 +public abstract class BaseEasingMethod implements TypeEvaluator<Number> {
  33 + protected float mDuration;
  34 +
  35 + private ArrayList<EasingListener> mListeners = new ArrayList<EasingListener>();
  36 +
  37 + public interface EasingListener {
  38 + public void on(float time, float value, float start, float end, float duration);
  39 + }
  40 +
  41 + public void addEasingListener(EasingListener l){
  42 + mListeners.add(l);
  43 + }
  44 +
  45 + public void addEasingListeners(EasingListener ...ls){
  46 + for(EasingListener l : ls){
  47 + mListeners.add(l);
  48 + }
  49 + }
  50 +
  51 + public void removeEasingListener(EasingListener l){
  52 + mListeners.remove(l);
  53 + }
  54 +
  55 + public void clearEasingListeners(){
  56 + mListeners.clear();
  57 + }
  58 +
  59 + public BaseEasingMethod(float duration){
  60 + mDuration = duration;
  61 + }
  62 +
  63 + public void setDuration(float duration) {
  64 + mDuration = duration;
  65 + }
  66 +
  67 +
  68 + @Override
  69 + public final Float evaluate(float fraction, Number startValue, Number endValue){
  70 + float t = mDuration * fraction;
  71 + float b = startValue.floatValue();
  72 + float c = endValue.floatValue() - startValue.floatValue();
  73 + float d = mDuration;
  74 + float result = calculate(t,b,c,d);
  75 + for(EasingListener l : mListeners){
  76 + l.on(t,result,b,c,d);
  77 + }
  78 + return result;
  79 + }
  80 +
  81 + public abstract Float calculate(float t, float b, float c, float d);
  82 +
  83 +}
core/base/src/main/java/com/daimajia/easing/Glider.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.easing;
  26 +
  27 +
  28 +import android.animation.PropertyValuesHolder;
  29 +import android.animation.ValueAnimator;
  30 +
  31 +public class Glider {
  32 +
  33 + public static ValueAnimator glide(Skill skill, float duration, ValueAnimator animator) {
  34 + return Glider.glide(skill, duration, animator, (BaseEasingMethod.EasingListener[]) null);
  35 + }
  36 +
  37 + public static ValueAnimator glide(Skill skill, float duration, ValueAnimator animator, BaseEasingMethod.EasingListener... listeners) {
  38 + BaseEasingMethod t = skill.getMethod(duration);
  39 +
  40 + if (listeners != null)
  41 + t.addEasingListeners(listeners);
  42 +
  43 + animator.setEvaluator(t);
  44 + return animator;
  45 + }
  46 +
  47 + public static PropertyValuesHolder glide(Skill skill, float duration, PropertyValuesHolder propertyValuesHolder) {
  48 + propertyValuesHolder.setEvaluator(skill.getMethod(duration));
  49 + return propertyValuesHolder;
  50 + }
  51 +
  52 +
  53 +}
core/base/src/main/java/com/daimajia/easing/Skill.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.easing;
  26 +
  27 +import com.daimajia.easing.back.BackEaseIn;
  28 +import com.daimajia.easing.back.BackEaseInOut;
  29 +import com.daimajia.easing.back.BackEaseOut;
  30 +import com.daimajia.easing.bounce.BounceEaseIn;
  31 +import com.daimajia.easing.bounce.BounceEaseInOut;
  32 +import com.daimajia.easing.bounce.BounceEaseOut;
  33 +import com.daimajia.easing.circ.CircEaseIn;
  34 +import com.daimajia.easing.circ.CircEaseInOut;
  35 +import com.daimajia.easing.circ.CircEaseOut;
  36 +import com.daimajia.easing.cubic.CubicEaseIn;
  37 +import com.daimajia.easing.cubic.CubicEaseInOut;
  38 +import com.daimajia.easing.cubic.CubicEaseOut;
  39 +import com.daimajia.easing.elastic.ElasticEaseIn;
  40 +import com.daimajia.easing.elastic.ElasticEaseOut;
  41 +import com.daimajia.easing.expo.ExpoEaseIn;
  42 +import com.daimajia.easing.expo.ExpoEaseInOut;
  43 +import com.daimajia.easing.expo.ExpoEaseOut;
  44 +import com.daimajia.easing.quad.QuadEaseIn;
  45 +import com.daimajia.easing.quad.QuadEaseInOut;
  46 +import com.daimajia.easing.quad.QuadEaseOut;
  47 +import com.daimajia.easing.quint.QuintEaseIn;
  48 +import com.daimajia.easing.quint.QuintEaseInOut;
  49 +import com.daimajia.easing.quint.QuintEaseOut;
  50 +import com.daimajia.easing.sine.SineEaseIn;
  51 +import com.daimajia.easing.sine.SineEaseInOut;
  52 +import com.daimajia.easing.sine.SineEaseOut;
  53 +import com.daimajia.easing.linear.Linear;
  54 +
  55 +
  56 +public enum Skill {
  57 +
  58 + BackEaseIn(BackEaseIn.class),
  59 + BackEaseOut(BackEaseOut.class),
  60 + BackEaseInOut(BackEaseInOut.class),
  61 +
  62 + BounceEaseIn(BounceEaseIn.class),
  63 + BounceEaseOut(BounceEaseOut.class),
  64 + BounceEaseInOut(BounceEaseInOut.class),
  65 +
  66 + CircEaseIn(CircEaseIn.class),
  67 + CircEaseOut(CircEaseOut.class),
  68 + CircEaseInOut(CircEaseInOut.class),
  69 +
  70 + CubicEaseIn(CubicEaseIn.class),
  71 + CubicEaseOut(CubicEaseOut.class),
  72 + CubicEaseInOut(CubicEaseInOut.class),
  73 +
  74 + ElasticEaseIn(ElasticEaseIn.class),
  75 + ElasticEaseOut(ElasticEaseOut.class),
  76 +
  77 + ExpoEaseIn(ExpoEaseIn.class),
  78 + ExpoEaseOut(ExpoEaseOut.class),
  79 + ExpoEaseInOut(ExpoEaseInOut.class),
  80 +
  81 + QuadEaseIn(QuadEaseIn.class),
  82 + QuadEaseOut(QuadEaseOut.class),
  83 + QuadEaseInOut(QuadEaseInOut.class),
  84 +
  85 + QuintEaseIn(QuintEaseIn.class),
  86 + QuintEaseOut(QuintEaseOut.class),
  87 + QuintEaseInOut(QuintEaseInOut.class),
  88 +
  89 + SineEaseIn(SineEaseIn.class),
  90 + SineEaseOut(SineEaseOut.class),
  91 + SineEaseInOut(SineEaseInOut.class),
  92 +
  93 + Linear(Linear.class);
  94 +
  95 +
  96 + private Class easingMethod;
  97 +
  98 + private Skill(Class clazz) {
  99 + easingMethod = clazz;
  100 + }
  101 +
  102 + public BaseEasingMethod getMethod(float duration) {
  103 + try {
  104 + return (BaseEasingMethod)easingMethod.getConstructor(float.class).newInstance(duration);
  105 + } catch (Exception e) {
  106 + e.printStackTrace();
  107 + throw new Error("Can not init easingMethod instance");
  108 + }
  109 + }
  110 +}
core/base/src/main/java/com/daimajia/easing/back/BackEaseIn.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.easing.back;
  26 +
  27 +import com.daimajia.easing.BaseEasingMethod;
  28 +
  29 +public class BackEaseIn extends BaseEasingMethod{
  30 +
  31 + private float s = 1.70158f;
  32 +
  33 + public BackEaseIn(float duration) {
  34 + super(duration);
  35 + }
  36 +
  37 + public BackEaseIn(float duration, float back){
  38 + this(duration);
  39 + s = back;
  40 + }
  41 +
  42 + @Override
  43 + public Float calculate(float t, float b, float c, float d) {
  44 + return c*(t/=d)*t*((s+1)*t - s) + b;
  45 + }
  46 +
  47 +}
core/base/src/main/java/com/daimajia/easing/back/BackEaseInOut.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.easing.back;
  26 +
  27 +import com.daimajia.easing.BaseEasingMethod;
  28 +
  29 +public class BackEaseInOut extends BaseEasingMethod{
  30 +
  31 + private float s = 1.70158f;
  32 +
  33 + public BackEaseInOut(float duration) {
  34 + super(duration);
  35 + }
  36 +
  37 + public BackEaseInOut(float duration, float back){
  38 + this(duration);
  39 + s = back;
  40 + }
  41 +
  42 + @Override
  43 + public Float calculate(float t, float b, float c, float d) {
  44 + if ((t /= d / 2) < 1) return c / 2 * (t * t * ((s + 1) * t - s)) + b;
  45 + return c / 2 * ((t -= 2) * t * ((s + 1) * t + s) + 2) + b;
  46 + }
  47 +}
core/base/src/main/java/com/daimajia/easing/back/BackEaseOut.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.easing.back;
  26 +
  27 +import com.daimajia.easing.BaseEasingMethod;
  28 +
  29 +public class BackEaseOut extends BaseEasingMethod{
  30 +
  31 + private float s = 1.70158f;
  32 +
  33 + public BackEaseOut(float duration) {
  34 + super(duration);
  35 + }
  36 +
  37 + public BackEaseOut(float duration, float back){
  38 + this(duration);
  39 + s = back;
  40 + }
  41 +
  42 + @Override
  43 + public Float calculate(float t, float b, float c, float d) {
  44 + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
  45 + }
  46 +}
core/base/src/main/java/com/daimajia/easing/bounce/BounceEaseIn.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.easing.bounce;
  26 +
  27 +import com.daimajia.easing.BaseEasingMethod;
  28 +
  29 +public class BounceEaseIn extends BaseEasingMethod {
  30 +
  31 + private BounceEaseOut mBounceEaseOut;
  32 +
  33 + public BounceEaseIn(float duration){
  34 + super(duration);
  35 + mBounceEaseOut = new BounceEaseOut(duration);
  36 + }
  37 +
  38 + @Override
  39 + public Float calculate(float t, float b, float c, float d) {
  40 + return c - mBounceEaseOut.calculate(d-t, 0, c, d) + b;
  41 + }
  42 +}
core/base/src/main/java/com/daimajia/easing/bounce/BounceEaseInOut.java 0 → 100644
  1 +/*
  2 + * The MIT License (MIT)
  3 + *
  4 + * Copyright (c) 2014 daimajia
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in all
  14 + * copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  22 + * SOFTWARE.
  23 + */
  24 +
  25 +package com.daimajia.easing.bounce;
  26 +
  27 +import com.daimajia.easing.BaseEasingMethod;
  28 +
  29 +public class BounceEaseInOut extends BaseEasingMethod{
  30 +
  31 + private BounceEaseOut mBounceEaseOut;
  32 + private BounceEaseIn mBounceEaseIn;
  33 +
  34 + public BounceEaseInOut(float duration){
  35 + super(duration);
  36 + mBounceEaseIn = new BounceEaseIn(duration);
  37 + mBounceEaseOut = new BounceEaseOut(duration);
  38 + }
  39 +
  40 + @Override
  41 + public Float calculate(float t, float b, float c, float d) {
  42 + if (t < d/2)
  43 + return mBounceEaseIn.calculate (t*2, 0, c, d) * .5f + b;
  44 + else
  45 + return mBounceEaseOut.calculate (t*2-d, 0, c, d) * .5f + c*.5f + b;
  46 + }
  47 +}