Java 类android.animation.TimeAnimator 实例源码
项目:NoticeDog
文件:SpringTranslateTimeListener.java
public void onTimeUpdate(TimeAnimator timeAnimator, long totalTime, long deltaTime) {
if (!this.mStarted.booleanValue()) {
this.mStarted = Boolean.valueOf(true);
if (this.mAnimationListener != null) {
this.mAnimationListener.onAnimationStart(null);
}
}
if (timeAnimator.isRunning()) {
if (isReallyClose().booleanValue()) {
stepFast();
} else {
step();
}
if (isFinished().booleanValue() && this.mAnimationListener != null) {
this.mAnimationListener.onAnimationEnd(null);
}
}
}
项目:NoticeDog
文件:PanelView.java
void init() {
this.handler = new Handler(Looper.getMainLooper());
this.mAnimationCallback = new TimeListener() {
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
PanelView.this.animationTick(deltaTime);
}
};
this.mStopAnimator = new Runnable() {
public void run() {
if (PanelView.this.mTimeAnimator != null && PanelView.this.mTimeAnimator.isStarted()) {
PanelView.this.LOG("Stop Animator : stopping", new Object[0]);
PanelView.this.mTimeAnimator.end();
PanelView.this.mRubberbanding = false;
PanelView.this.mClosing = false;
}
}
};
this.mTimeAnimator = new TimeAnimator();
this.mTimeAnimator.setTimeListener(this.mAnimationCallback);
}
项目:chromium-for-android-56-debug-video
文件:ToolbarProgressBar.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTimeMs, long deltaTimeMs) {
// Cap progress bar animation frame time so that it doesn't jump too much even when
// the animation is janky.
float progress = mAnimationLogic.updateProgress(mTargetProgress,
Math.min(deltaTimeMs, PROGRESS_FRAME_TIME_CAP_MS) * 0.001f, getWidth());
progress = Math.max(progress, 0);
ToolbarProgressBar.super.setProgress(progress);
if (mAnimatingView != null) {
int width = Math.abs(
getDrawable().getBounds().right - getDrawable().getBounds().left);
mAnimatingView.update(progress * width);
}
if (getProgress() == mTargetProgress) {
if (!mIsStarted) postOnAnimationDelayed(mHideRunnable, mHidingDelayMs);
mProgressAnimator.end();
return;
}
}
项目:AndroidChromium
文件:ToolbarProgressBar.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTimeMs, long deltaTimeMs) {
// Cap progress bar animation frame time so that it doesn't jump too much even when
// the animation is janky.
float progress = mAnimationLogic.updateProgress(mTargetProgress,
Math.min(deltaTimeMs, PROGRESS_FRAME_TIME_CAP_MS) * 0.001f, getWidth());
progress = Math.max(progress, 0);
ToolbarProgressBar.super.setProgress(progress);
if (mAnimatingView != null) {
int width = Math.abs(
getDrawable().getBounds().right - getDrawable().getBounds().left);
mAnimatingView.update(progress * width);
}
if (getProgress() == mTargetProgress) {
if (!mIsStarted) postOnAnimationDelayed(mHideRunnable, mHidingDelayMs);
mProgressAnimator.end();
return;
}
}
项目:Vafrinn
文件:ToolbarProgressBar.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTimeMs, long deltaTimeMs) {
// Cap progress bar animation frame time so that it doesn't jump too much even when
// the animation is janky.
ToolbarProgressBar.super.setProgress(mAnimationLogic.updateProgress(
mTargetProgress,
Math.max(deltaTimeMs, PROGRESS_FRAME_TIME_CAP_MS) * 0.001f,
getWidth()));
if (getProgress() == mTargetProgress) {
if (mTargetProgress == 1.0f && !mIsStarted) {
postOnAnimationDelayed(mHideRunnable, mHidingDelayMs);
}
mProgressAnimator.end();
return;
}
}
项目:365browser
文件:ToolbarProgressBar.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTimeMs, long deltaTimeMs) {
// Cap progress bar animation frame time so that it doesn't jump too much even when
// the animation is janky.
float progress = mAnimationLogic.updateProgress(mTargetProgress,
Math.min(deltaTimeMs, PROGRESS_FRAME_TIME_CAP_MS) * 0.001f, getWidth());
progress = Math.max(progress, 0);
ToolbarProgressBar.super.setProgress(progress);
if (mAnimatingView != null) {
int width = Math.abs(
getDrawable().getBounds().right - getDrawable().getBounds().left);
mAnimatingView.update(progress * width);
}
if (getProgress() == mTargetProgress) {
if (!mIsStarted) postOnAnimationDelayed(mHideRunnable, mHidingDelayMs);
mProgressAnimator.end();
return;
}
}
项目:android-chromium-view
文件:GenericTouchGesture.java
private Runnable createJBRunnable() {
// On JB, we rely on TimeAnimator to send events tied with vsync.
return new Runnable() {
@Override
public void run() {
mTimeAnimator = new TimeAnimator();
mTimeAnimator.setTimeListener(new TimeListener() {
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime,
long deltaTime) {
if (!sendEvent(mDownTime + totalTime)) {
mTimeAnimator.end();
}
}
});
mTimeAnimator.start();
}
};
}
项目:android-chromium
文件:GenericTouchGesture.java
private Runnable createJBRunnable() {
// On JB, we rely on TimeAnimator to send events tied with vsync.
return new Runnable() {
@Override
public void run() {
mTimeAnimator = new TimeAnimator();
mTimeAnimator.setTimeListener(new TimeListener() {
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime,
long deltaTime) {
if (!sendEvent(mStartTime + totalTime)) {
mTimeAnimator.end();
}
}
});
mTimeAnimator.start();
}
};
}
项目:chromium_webview
文件:GenericTouchGesture.java
private Runnable createJBRunnable() {
// On JB, we rely on TimeAnimator to send events tied with vsync.
return new Runnable() {
@Override
public void run() {
mTimeAnimator = new TimeAnimator();
mTimeAnimator.setTimeListener(new TimeListener() {
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime,
long deltaTime) {
if (!sendEvent(mDownTime + totalTime)) {
mTimeAnimator.end();
}
}
});
mTimeAnimator.start();
}
};
}
项目:cordova-android-chromium
文件:GenericTouchGesture.java
private Runnable createJBRunnable() {
// On JB, we rely on TimeAnimator to send events tied with vsync.
return new Runnable() {
@Override
public void run() {
mTimeAnimator = new TimeAnimator();
mTimeAnimator.setTimeListener(new TimeListener() {
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime,
long deltaTime) {
if (!sendEvent(mStartTime + totalTime)) {
mTimeAnimator.end();
}
}
});
mTimeAnimator.start();
}
};
}
项目:chromium-net-for-android
文件:AnimationFrameTimeHistogram.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
if (mFrameTimesCount == mFrameTimesMs.length) {
mAnimator.end();
cleanUp();
Log.w(TAG, "Animation frame time recording reached the maximum number. It's either"
+ "the animation took too long or recording end is not called.");
return;
}
// deltaTime is 0 for the first frame.
if (deltaTime > 0) {
mFrameTimesMs[mFrameTimesCount++] = deltaTime;
}
}
项目:NoticeDog
文件:LinearTranslateTimeListener.java
public void onTimeUpdate(TimeAnimator timeAnimator, long totalTime, long deltaTime) {
if (!timeAnimator.isRunning()) {
return;
}
if (((float) totalTime) > this.mDuration) {
timeAnimator.cancel();
if (this.mAnimationListener != null) {
this.mAnimationListener.onAnimationEnd(null);
return;
}
return;
}
step((float) totalTime);
}
项目:chromium-for-android-56-debug-video
文件:AppMenuDragHelper.java
AppMenuDragHelper(Activity activity, AppMenu appMenu, int itemRowHeight) {
mActivity = activity;
mAppMenu = appMenu;
mItemRowHeight = itemRowHeight;
Resources res = mActivity.getResources();
mAutoScrollFullVelocity = res.getDimensionPixelSize(R.dimen.auto_scroll_full_velocity);
// If user is dragging and the popup ListView is too big to display at once,
// mDragScrolling animator scrolls mPopup.getListView() automatically depending on
// the user's touch position.
mDragScrolling.setTimeListener(new TimeAnimator.TimeListener() {
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
ListPopupWindow popup = mAppMenu.getPopup();
if (popup == null || popup.getListView() == null) return;
// We keep both mDragScrollOffset and mDragScrollOffsetRounded because
// the actual scrolling is by the rounded value but at the same time we also
// want to keep the precise scroll value in float.
mDragScrollOffset += (deltaTime * 0.001f) * mDragScrollingVelocity;
int diff = Math.round(mDragScrollOffset - mDragScrollOffsetRounded);
mDragScrollOffsetRounded += diff;
popup.getListView().smoothScrollBy(diff, 0);
// Force touch move event to highlight items correctly for the scrolled position.
if (!Float.isNaN(mLastTouchX) && !Float.isNaN(mLastTouchY)) {
menuItemAction(Math.round(mLastTouchX), Math.round(mLastTouchY),
ITEM_ACTION_HIGHLIGHT);
}
}
});
// We use medium timeout, the average of tap and long press timeouts. This is consistent
// with ListPopupWindow#ForwardingListener implementation.
mTapTimeout =
(ViewConfiguration.getTapTimeout() + ViewConfiguration.getLongPressTimeout()) / 2;
mScaledTouchSlop = ViewConfiguration.get(activity).getScaledTouchSlop();
}
项目:xDrip
文件:XDripDreamService.java
/**
* Every TimeAnimator frame, nudge each bouncing view along.
*/
public void onTimeUpdate(TimeAnimator animation, long elapsed, long dt_ms) {
final float dt = dt_ms / 1000f; // seconds
for (int i = 0; i < getChildCount(); i++) {
final View view = getChildAt(i);
final PointF v = (PointF) view.getTag();
// step view for velocity * time
view.setX(view.getX() + v.x * dt);
view.setY(view.getY() + v.y * dt);
// handle reflections
final float l = view.getX();
final float t = view.getY();
final float r = l + view.getWidth();
final float b = t + view.getHeight();
boolean flipX = false, flipY = false;
if (r > mWidth) {
view.setX(view.getX() - 2 * (r - mWidth));
flipX = true;
} else if (l < 0) {
view.setX(-l);
flipX = true;
}
if (b > mHeight) {
view.setY(view.getY() - 2 * (b - mHeight));
flipY = true;
} else if (t < 0) {
view.setY(-t);
flipY = true;
}
if (flipX) v.x *= -1;
if (flipY) v.y *= -1;
}
}
项目:xDrip-plus
文件:XDripDreamService.java
/**
* Every TimeAnimator frame, nudge each bouncing view along.
*/
public void onTimeUpdate(TimeAnimator animation, long elapsed, long dt_ms) {
final float dt = dt_ms / 1000f; // seconds
for (int i = 0; i < getChildCount(); i++) {
final View view = getChildAt(i);
final PointF v = (PointF) view.getTag();
// step view for velocity * time
view.setX(view.getX() + v.x * dt);
view.setY(view.getY() + v.y * dt);
// handle reflections
final float l = view.getX();
final float t = view.getY();
final float r = l + view.getWidth();
final float b = t + view.getHeight();
boolean flipX = false, flipY = false;
if (r > mWidth) {
view.setX(view.getX() - 2 * (r - mWidth));
flipX = true;
} else if (l < 0) {
view.setX(-l);
flipX = true;
}
if (b > mHeight) {
view.setY(view.getY() - 2 * (b - mHeight));
flipY = true;
} else if (t < 0) {
view.setY(-t);
flipY = true;
}
if (flipX) v.x *= -1;
if (flipY) v.y *= -1;
}
}
项目:AndroidChromium
文件:AppMenuDragHelper.java
AppMenuDragHelper(Activity activity, AppMenu appMenu, int itemRowHeight) {
mActivity = activity;
mAppMenu = appMenu;
mItemRowHeight = itemRowHeight;
Resources res = mActivity.getResources();
mAutoScrollFullVelocity = res.getDimensionPixelSize(R.dimen.auto_scroll_full_velocity);
// If user is dragging and the popup ListView is too big to display at once,
// mDragScrolling animator scrolls mPopup.getListView() automatically depending on
// the user's touch position.
mDragScrolling.setTimeListener(new TimeAnimator.TimeListener() {
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
ListPopupWindow popup = mAppMenu.getPopup();
if (popup == null || popup.getListView() == null) return;
// We keep both mDragScrollOffset and mDragScrollOffsetRounded because
// the actual scrolling is by the rounded value but at the same time we also
// want to keep the precise scroll value in float.
mDragScrollOffset += (deltaTime * 0.001f) * mDragScrollingVelocity;
int diff = Math.round(mDragScrollOffset - mDragScrollOffsetRounded);
mDragScrollOffsetRounded += diff;
popup.getListView().smoothScrollBy(diff, 0);
// Force touch move event to highlight items correctly for the scrolled position.
if (!Float.isNaN(mLastTouchX) && !Float.isNaN(mLastTouchY)) {
menuItemAction(Math.round(mLastTouchX), Math.round(mLastTouchY),
ITEM_ACTION_HIGHLIGHT);
}
}
});
// We use medium timeout, the average of tap and long press timeouts. This is consistent
// with ListPopupWindow#ForwardingListener implementation.
mTapTimeout =
(ViewConfiguration.getTapTimeout() + ViewConfiguration.getLongPressTimeout()) / 2;
mScaledTouchSlop = ViewConfiguration.get(activity).getScaledTouchSlop();
}
项目:Vafrinn
文件:AppMenuDragHelper.java
AppMenuDragHelper(Activity activity, AppMenu appMenu, int itemRowHeight) {
mActivity = activity;
mAppMenu = appMenu;
mItemRowHeight = itemRowHeight;
Resources res = mActivity.getResources();
mAutoScrollFullVelocity = res.getDimensionPixelSize(R.dimen.auto_scroll_full_velocity);
// If user is dragging and the popup ListView is too big to display at once,
// mDragScrolling animator scrolls mPopup.getListView() automatically depending on
// the user's touch position.
mDragScrolling.setTimeListener(new TimeAnimator.TimeListener() {
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
ListPopupWindow popup = mAppMenu.getPopup();
if (popup == null || popup.getListView() == null) return;
// We keep both mDragScrollOffset and mDragScrollOffsetRounded because
// the actual scrolling is by the rounded value but at the same time we also
// want to keep the precise scroll value in float.
mDragScrollOffset += (deltaTime * 0.001f) * mDragScrollingVelocity;
int diff = Math.round(mDragScrollOffset - mDragScrollOffsetRounded);
mDragScrollOffsetRounded += diff;
popup.getListView().smoothScrollBy(diff, 0);
// Force touch move event to highlight items correctly for the scrolled position.
if (!Float.isNaN(mLastTouchX) && !Float.isNaN(mLastTouchY)) {
menuItemAction(Math.round(mLastTouchX), Math.round(mLastTouchY),
ITEM_ACTION_HIGHLIGHT);
}
}
});
// We use medium timeout, the average of tap and long press timeouts. This is consistent
// with ListPopupWindow#ForwardingListener implementation.
mTapTimeout =
(ViewConfiguration.getTapTimeout() + ViewConfiguration.getLongPressTimeout()) / 2;
mScaledTouchSlop = ViewConfiguration.get(activity).getScaledTouchSlop();
}
项目:androidtv-daydream
文件:Bouncer.java
public void onTimeUpdate(TimeAnimator animation, long elapsed, long dt_ms) {
final float dt = dt_ms / 1000f; // seconds
for (int i=0; i<getChildCount(); i++) {
final View view = getChildAt(i);
final PointF v = (PointF) view.getTag();
// step view for velocity * time
view.setX(view.getX() + v.x * dt);
view.setY(view.getY() + v.y * dt);
// handle reflections
final float l = view.getX();
final float t = view.getY();
final float r = l + view.getWidth();
final float b = t + view.getHeight();
boolean flipX = false, flipY = false;
if (r > mWidth) {
view.setX(view.getX() - 2 * (r - mWidth));
flipX = true;
} else if (l < 0) {
view.setX(-l);
flipX = true;
}
if (b > mHeight) {
view.setY(view.getY() - 2 * (b - mHeight));
flipY = true;
} else if (t < 0) {
view.setY(-t);
flipY = true;
}
if (flipX) v.x *= -1;
if (flipY) v.y *= -1;
}
}
项目:365browser
文件:AnimationFrameTimeHistogram.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
if (mFrameTimesCount == mFrameTimesMs.length) {
mAnimator.end();
cleanUp();
Log.w(TAG, "Animation frame time recording reached the maximum number. It's either"
+ "the animation took too long or recording end is not called.");
return;
}
// deltaTime is 0 for the first frame.
if (deltaTime > 0) {
mFrameTimesMs[mFrameTimesCount++] = deltaTime;
}
}
项目:365browser
文件:AppMenuDragHelper.java
AppMenuDragHelper(Activity activity, AppMenu appMenu, int itemRowHeight) {
mActivity = activity;
mAppMenu = appMenu;
mItemRowHeight = itemRowHeight;
Resources res = mActivity.getResources();
mAutoScrollFullVelocity = res.getDimensionPixelSize(R.dimen.auto_scroll_full_velocity);
// If user is dragging and the popup ListView is too big to display at once,
// mDragScrolling animator scrolls mPopup.getListView() automatically depending on
// the user's touch position.
mDragScrolling.setTimeListener(new TimeAnimator.TimeListener() {
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
ListPopupWindow popup = mAppMenu.getPopup();
if (popup == null || popup.getListView() == null) return;
// We keep both mDragScrollOffset and mDragScrollOffsetRounded because
// the actual scrolling is by the rounded value but at the same time we also
// want to keep the precise scroll value in float.
mDragScrollOffset += (deltaTime * 0.001f) * mDragScrollingVelocity;
int diff = Math.round(mDragScrollOffset - mDragScrollOffsetRounded);
mDragScrollOffsetRounded += diff;
popup.getListView().smoothScrollBy(diff, 0);
// Force touch move event to highlight items correctly for the scrolled position.
if (!Float.isNaN(mLastTouchX) && !Float.isNaN(mLastTouchY)) {
menuItemAction(Math.round(mLastTouchX), Math.round(mLastTouchY),
ITEM_ACTION_HIGHLIGHT);
}
}
});
// We use medium timeout, the average of tap and long press timeouts. This is consistent
// with ListPopupWindow#ForwardingListener implementation.
mTapTimeout =
(ViewConfiguration.getTapTimeout() + ViewConfiguration.getLongPressTimeout()) / 2;
mScaledTouchSlop = ViewConfiguration.get(activity).getScaledTouchSlop();
}
项目:Bugstick
文件:BugView.java
private void init(Context context) {
animator = new TimeAnimator();
animator.setTimeListener(this);
paint = new Paint();
paint.setColor(Color.WHITE);
density = getResources().getDisplayMetrics().density;
path = new Path();
pathMeasure = new PathMeasure();
position = new PointF();
velocity = new PointF();
}
项目:adt-leanback-support
文件:FocusHighlightHelper.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
float fraction;
if (totalTime >= mDuration) {
fraction = 1;
mAnimator.end();
} else {
fraction = (float) (totalTime / (double) mDuration);
}
if (mInterpolator != null) {
fraction = mInterpolator.getInterpolation(fraction);
}
setFocusLevel(mFocusLevelStart + fraction * mFocusLevelDelta);
}
项目:android-MorphClock
文件:SystemClockManager.java
public SystemClockManager(SystemClockListener listener, long resolution) {
mListener = listener;
mResolution = resolution;
mAnimator = new TimeAnimator();
mAnimator.setTimeListener(this);
}
项目:android-MorphClock
文件:SystemClockManager.java
@Override
public void onTimeUpdate(TimeAnimator timeAnimator, long l, long l2) {
long now = l / mResolution;
if (now != mLast) {
mLast = now;
mListener.onTimeChanged(System.currentTimeMillis());
}
}
项目:cogitolearning-examples
文件:FpsTimeListener.java
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime)
{
double currentFps;
if (deltaTime != 0)
currentFps = 1000.0 / (double) deltaTime;
else
currentFps = 0.9 * fps;
if (fps < 0.0)
fps = currentFps;
else
fps = 0.9 * fps + 0.1 * currentFps;
textView.setText(String.format("fps: %.2f", fps));
}
项目:cogitolearning-examples
文件:PropertyAnimation09.java
@Override
@SuppressLint("NewApi")
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.property_animations09);
if (android.os.Build.VERSION.SDK_INT >= 19)
{
ImageView someImage = (ImageView) findViewById(R.id.some_image);
ObjectAnimator rotateAnim = ObjectAnimator.ofFloat(someImage, "rotation", 0, 360);
rotateAnim.setDuration(1000);
rotateAnim.setRepeatCount(5);
rotateAnim.setRepeatMode(ObjectAnimator.RESTART);
fpsText = (TextView) findViewById(R.id.fps_text);
FpsTimeListener listener = new FpsTimeListener(fpsText);
final TimeAnimator timeAnim = new TimeAnimator();
timeAnim.setTimeListener(listener);
anim = new AnimatorSet();
anim.play(rotateAnim).with(timeAnim);
rotateAnim.addListener(new AnimatorListenerAdapter()
{
@Override
public void onAnimationEnd(Animator animation)
{
timeAnim.end();
}
});
}
}
项目:NoticeDog
文件:PanelView.java
private void animationTick(long dtms) {
boolean z = true;
if (!this.mTimeAnimator.isStarted()) {
this.mTimeAnimator = new TimeAnimator();
this.mTimeAnimator.setTimeListener(this.mAnimationCallback);
if (this.mPeekAnimator != null) {
this.mPeekAnimator.cancel();
}
this.mTimeAnimator.start();
boolean z2 = this.mRubberbandingEnabled && this.mExpandedHeight > getFullHeight() && this.mVel >= (-this.mFlingGestureMinDistPx);
this.mRubberbanding = z2;
if (this.mRubberbanding) {
this.mClosing = true;
} else if (this.mVel == 0.0f) {
if (this.mFinalTouchY / getFullHeight() >= 0.5f) {
z = false;
}
this.mClosing = z;
} else {
if (this.mExpandedHeight <= 0.0f || this.mVel >= 0.0f) {
z = false;
}
this.mClosing = z;
}
} else if (dtms > 0) {
float dt = ((float) dtms) * 0.001f;
float fh = getFullHeight();
this.mAccel = this.mClosing ? -this.mCollapseAccelPx : this.mExpandAccelPx;
this.mVel += this.mAccel * dt;
if (false) {
if (this.mClosing && this.mVel > (-this.mBrakingSpeedPx)) {
this.mVel = -this.mBrakingSpeedPx;
} else if (!this.mClosing && this.mVel < this.mBrakingSpeedPx) {
this.mVel = this.mBrakingSpeedPx;
}
} else if (this.mClosing && this.mVel > (-this.mFlingCollapseMinVelocityPx)) {
this.mVel = -this.mFlingCollapseMinVelocityPx;
} else if (!this.mClosing && this.mVel > this.mFlingGestureMaxOutputVelocityPx) {
this.mVel = this.mFlingGestureMaxOutputVelocityPx;
}
float h = this.mExpandedHeight + (this.mVel * dt);
if (this.mRubberbanding && h < fh) {
h = fh;
}
setExpandedHeightInternal(h);
this.mBar.panelExpansionChanged(this, this.mExpandedFraction);
if (this.mVel == 0.0f || ((this.mClosing && getTargetExpandedHeight() == 0) || ((this.mRubberbanding || !this.mClosing) && this.mExpandedHeight == fh))) {
this.handler.post(this.mStopAnimator);
if (this.mClosing && getTargetExpandedHeight() == 0) {
this.handler.post(this.closePanelsRunnable);
}
}
} else {
Log.v(TAG, "animationTick called with dtms=" + dtms + "; nothing to do (h=" + this.mExpandedHeight + " v=" + this.mVel + ")");
}
}
项目:xDrip
文件:XDripDreamService.java
public Bouncer(Context context, AttributeSet attrs, int flags) {
super(context, attrs, flags);
mAnimator = new TimeAnimator();
mAnimator.setTimeListener(this);
}
项目:xDrip-plus
文件:XDripDreamService.java
public Bouncer(Context context, AttributeSet attrs, int flags) {
super(context, attrs, flags);
mAnimator = new TimeAnimator();
mAnimator.setTimeListener(this);
}
项目:androidtv-daydream
文件:Bouncer.java
public Bouncer(Context context, AttributeSet attrs, int flags) {
super(context, attrs, flags);
mAnimator = new TimeAnimator();
mAnimator.setTimeListener(this);
}
项目:adt-leanback-support
文件:RowsSupportFragment.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
if (mSelectAnimator.isRunning()) {
updateSelect(totalTime, deltaTime);
}
}
项目:adt-leanback-support
文件:RowsFragment.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
if (mSelectAnimator.isRunning()) {
updateSelect(totalTime, deltaTime);
}
}
项目:Bugstick
文件:BugView.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
final float dt = deltaTime / 1000f; // seconds
position.x += velocity.x * dt;
position.y += velocity.y * dt;
bound();
path.lineTo(position.x, position.y);
invalidate();
}
项目:DemoForPropertyAnimation
文件:TimeDrawView.java
@Override
public void onTimeUpdate(TimeAnimator animation, long totalTime,
long deltaTime) {
invalidate();
}