package com.example.jingbin.cloudreader.view.sliding;
import android.view.View;
import com.nineoldandroids.view.ViewHelper;
/**
* Created by Linhh on 16/5/24.
* 使用了nineoldandroids
*/
public class Instrument {
private static Instrument mInstrument;
public static Instrument getInstance(){
if(mInstrument == null){
mInstrument = new Instrument();
}
return mInstrument;
}
public float getTranslationY(View view){
if(view == null){
return 0;
}
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
return view.getTranslationY();
}else{
return ViewHelper.getTranslationY(view);
}
}
public void slidingByDelta(View view ,float delta){
if(view == null){
return;
}
view.clearAnimation();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
view.setTranslationY(delta);
}else{
ViewHelper.setTranslationY(view, delta);
}
}
public void slidingToY(View view ,float y){
if(view == null){
return;
}
view.clearAnimation();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
view.setY(y);
}else{
ViewHelper.setY(view, y);
}
}
public void reset(View view, long duration){
if(view == null){
return;
}
view.clearAnimation();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
android.animation.ObjectAnimator.ofFloat(view, "translationY", 0F).setDuration(duration).start();
}else{
com.nineoldandroids.animation.ObjectAnimator.ofFloat(view, "translationY", 0F).setDuration(duration).start();
}
}
public void smoothTo(View view ,float y, long duration){
if(view == null){
return;
}
view.clearAnimation();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
android.animation.ObjectAnimator.ofFloat(view, "translationY", y).setDuration(duration).start();
}else{
com.nineoldandroids.animation.ObjectAnimator.ofFloat(view, "translationY", y).setDuration(duration).start();
}
}
}