1d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase/* 2d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * Copyright (C) 2014 The Android Open Source Project 3d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * 4d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * Licensed under the Apache License, Version 2.0 (the "License"); 5d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * you may not use this file except in compliance with the License. 6d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * You may obtain a copy of the License at 7d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * 8d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * http://www.apache.org/licenses/LICENSE-2.0 9d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * 10d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * Unless required by applicable law or agreed to in writing, software 11d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * distributed under the License is distributed on an "AS IS" BASIS, 12d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * See the License for the specific language governing permissions and 14d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * limitations under the License. 15d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase */ 16d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haasepackage android.support.v4.view; 17d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 18d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.animation.Animator; 19d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.animation.AnimatorListenerAdapter; 20d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.view.View; 21d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.view.animation.Interpolator; 22d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 23d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseclass ViewPropertyAnimatorCompatICS { 24d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 25d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void setDuration(View view, long value) { 26d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().setDuration(value); 27d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 28d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 29d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void alpha(View view, float value) { 30d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().alpha(value); 31d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 32d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 33d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void translationX(View view, float value) { 34d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().translationX(value); 35d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 36d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 37d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void translationY(View view, float value) { 38d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().translationY(value); 39d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 40d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 41d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static long getDuration(View view) { 42d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase return view.animate().getDuration(); 43d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 44d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 45d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void setInterpolator(View view, Interpolator value) { 46d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().setInterpolator(value); 47d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 48d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 49d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void setStartDelay(View view, long value) { 50d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().setStartDelay(value); 51d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 52d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 53d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static long getStartDelay(View view) { 54d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase return view.animate().getStartDelay(); 55d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 56d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 57d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void alphaBy(View view, float value) { 58d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().alphaBy(value); 59d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 60d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 61d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void rotation(View view, float value) { 62d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().rotation(value); 63d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 64d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 65d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void rotationBy(View view, float value) { 66d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().rotationBy(value); 67d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 68d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 69d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void rotationX(View view, float value) { 70d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().rotationX(value); 71d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 72d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 73d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void rotationXBy(View view, float value) { 74d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().rotationXBy(value); 75d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 76d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 77d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void rotationY(View view, float value) { 78d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().rotationY(value); 79d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 80d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 81d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void rotationYBy(View view, float value) { 82d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().rotationYBy(value); 83d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 84d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 85d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void scaleX(View view, float value) { 86d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().scaleX(value); 87d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 88d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 89d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void scaleXBy(View view, float value) { 90d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().scaleXBy(value); 91d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 92d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 93d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void scaleY(View view, float value) { 94d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().scaleY(value); 95d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 96d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 97d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void scaleYBy(View view, float value) { 98d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().scaleYBy(value); 99d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 100d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 101d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void cancel(View view) { 102d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().cancel(); 103d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 104d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 105d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void x(View view, float value) { 106d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().x(value); 107d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 108d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 109d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void xBy(View view, float value) { 110d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().xBy(value); 111d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 112d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 113d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void y(View view, float value) { 114d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().y(value); 115d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 116d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 117d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void yBy(View view, float value) { 118d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().yBy(value); 119d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 120d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 121d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void translationXBy(View view, float value) { 122d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().translationXBy(value); 123d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 124d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 125d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void translationYBy(View view, float value) { 126d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().translationYBy(value); 127d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 128d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 129d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void start(View view) { 130d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().start(); 131d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 132d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 133d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void setListener(final View view, 134d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase final ViewPropertyAnimatorListener listener) { 135797c82a7055f7ba825169388465617f0db716739Chet Haase if (listener != null) { 136797c82a7055f7ba825169388465617f0db716739Chet Haase view.animate().setListener(new AnimatorListenerAdapter() { 137797c82a7055f7ba825169388465617f0db716739Chet Haase @Override 138797c82a7055f7ba825169388465617f0db716739Chet Haase public void onAnimationCancel(Animator animation) { 139797c82a7055f7ba825169388465617f0db716739Chet Haase listener.onAnimationCancel(view); 140797c82a7055f7ba825169388465617f0db716739Chet Haase } 141797c82a7055f7ba825169388465617f0db716739Chet Haase 142797c82a7055f7ba825169388465617f0db716739Chet Haase @Override 143797c82a7055f7ba825169388465617f0db716739Chet Haase public void onAnimationEnd(Animator animation) { 144797c82a7055f7ba825169388465617f0db716739Chet Haase listener.onAnimationEnd(view); 145797c82a7055f7ba825169388465617f0db716739Chet Haase } 146797c82a7055f7ba825169388465617f0db716739Chet Haase 147797c82a7055f7ba825169388465617f0db716739Chet Haase @Override 148797c82a7055f7ba825169388465617f0db716739Chet Haase public void onAnimationStart(Animator animation) { 149797c82a7055f7ba825169388465617f0db716739Chet Haase listener.onAnimationStart(view); 150797c82a7055f7ba825169388465617f0db716739Chet Haase } 151797c82a7055f7ba825169388465617f0db716739Chet Haase }); 152797c82a7055f7ba825169388465617f0db716739Chet Haase } else { 153797c82a7055f7ba825169388465617f0db716739Chet Haase view.animate().setListener(null); 154797c82a7055f7ba825169388465617f0db716739Chet Haase } 155d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 156d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase} 157