Java 类com.facebook.rebound.SpringUtil 实例源码
项目:test4XXX
文件:PlaygroundActivity.java
@Override
public void onBackPressed() {
if (mAnimating || mCurrentExample == null) {
return;
}
mAnimating = true;
mCurrentExample.hide(true, new ExampleContainerView.Callback() {
@Override
public void onProgress(double progress) {
float scale = (float) SpringUtil.mapValueFromRangeToRange(progress, 0, 1, 0.8, 1);
mRootContainer.setScaleX(scale);
mRootContainer.setScaleY(scale);
mRootContainer.setAlpha((float) progress);
}
@Override
public void onEnd() {
mAnimating = false;
mCurrentExample.clearCallback();
mRootView.removeView(mCurrentExample);
mCurrentExample = null;
}
});
}
项目:test4XXX
文件:MainActivity.java
@Override
public void onSpringUpdate(Spring spring) {
// On each update of the spring value, we adjust the scale of the image view to match
// the
// springs new value. We use the SpringUtil linear interpolation function
// mapValueFromRangeToRange
// to translate the spring's 0 to 1 scale to a 100% to 50% scale range and apply that to
// the View
// with setScaleX/Y. Note that rendering is an implementation detail of the application
// and not
// Rebound itself. If you need Gingerbread compatibility consider using NineOldAndroids
// to update
// your view properties in a backwards compatible manner.
float mappedValue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.5);
mImageView.setScaleX(mappedValue);
mImageView.setScaleY(mappedValue);
}
项目:Hipster-Visualization
文件:SpringyImageView.java
@Override
public void onSpringUpdate(Spring spring) {
setVisibility(View.VISIBLE);
double value = spring.getCurrentValue();
float selectedImage = (float) SpringUtil.mapValueFromRangeToRange(
value, 0, 1, 0, 1);
float titleTranslateX = (float) SpringUtil.mapValueFromRangeToRange(
value, 0, 1, mStartX, 0);
float titleTranslateY = (float) SpringUtil.mapValueFromRangeToRange(
value, 0, 1, mStartY, 0);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setScaleX(selectedImage);
setScaleY(selectedImage);
setTranslationX(titleTranslateX);
setTranslationY(titleTranslateY);
}
}
项目:Hipster-Visualization
文件:SpringyButton.java
@Override
public void onSpringUpdate(Spring spring) {
setVisibility(View.VISIBLE);
double value = spring.getCurrentValue();
float selectedTitleScale = (float) SpringUtil.mapValueFromRangeToRange(
value, 0, 1, 0, 1);
float titleTranslateX = (float) SpringUtil.mapValueFromRangeToRange(
value, 0, 1, mStartX, 0);
float titleTranslateY = (float) SpringUtil.mapValueFromRangeToRange(
value, 0, 1, mStartY, 0);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setScaleX(selectedTitleScale);
setScaleY(selectedTitleScale);
setTranslationX(titleTranslateX);
setTranslationY(titleTranslateY);
}
}
项目:Hipster-Visualization
文件:SpringyFontFitTextView.java
@Override
public void onSpringUpdate(Spring spring) {
Resources resources = getResources();
double value = spring.getCurrentValue();
float selectedTitleScale = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 0,
1);
float titleTranslateY = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1,
Util.dpToPx(-150f, resources), 0);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setScaleX(selectedTitleScale);
setScaleY(selectedTitleScale);
setTranslationY(titleTranslateY);
}
}
项目:rebound
文件:PlaygroundActivity.java
@Override
public void onBackPressed() {
if (mAnimating || mCurrentExample == null) {
return;
}
mAnimating = true;
mCurrentExample.hide(true, new ExampleContainerView.Callback() {
@Override
public void onProgress(double progress) {
float scale = (float) SpringUtil.mapValueFromRangeToRange(progress, 0, 1, 0.8, 1);
mRootContainer.setScaleX(scale);
mRootContainer.setScaleY(scale);
mRootContainer.setAlpha((float) progress);
}
@Override
public void onEnd() {
mAnimating = false;
mCurrentExample.clearCallback();
mRootView.removeView(mCurrentExample);
mCurrentExample = null;
}
});
}
项目:sapphire
文件:MainActivity.java
@Override
public void onSpringUpdate(Spring spring) {
// On each update of the spring value, we adjust the scale of the image view to match the
// springs new value. We use the SpringUtil linear interpolation function mapValueFromRangeToRange
// to translate the spring's 0 to 1 scale to a 100% to 50% scale range and apply that to the View
// with setScaleX/Y. Note that rendering is an implementation detail of the application and not
// Rebound itself. If you need Gingerbread compatibility consider using NineOldAndroids to update
// your view properties in a backwards compatible manner.
float mappedValue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.5);
suggestionView.setScaleX(mappedValue);
suggestionView.setScaleY(mappedValue);
}
项目:MyTravelingDiary
文件:SwitchButton.java
/**
* @param value
*/
private void calculateEffect(final double value) {
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:Gank-Meizi
文件:ReboundImageView.java
@Override
public void onSpringUpdate(Spring spring) {
float mappedvalue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.8);
view.setScaleX(mappedvalue);
view.setScaleY(mappedvalue);
float rotation = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 0, 30);
view.setRotation(rotation);
}
项目:Incubators
文件:IOSToggleButton.java
@Override
public void onSpringUpdate(Spring spring) {
final double value = spring.getCurrentValue();
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:SpiderMenu
文件:SpiderMenu.java
/**
* Called whenever the spring is updated
*
* @param spring the Spring sending the update
*/
@Override
public void onSpringUpdate( Spring spring ) {
/*
Map our current value to scale values. Rebound has a nifty SpringUtil class to do that
We map our values between scale 0.3 to 1 (Range of 30% to 100%)
*/
double nMappedValue = SpringUtil.mapValueFromRangeToRange( spring.getCurrentValue(), 0.0d, 1.0d, 0.8d, 1.0d);
mView.get().setScaleX( (float)nMappedValue );
mView.get().setScaleY( (float)nMappedValue );
}
项目:RxComboDetector
文件:YOLOComboView.java
@Override
public void onSpringUpdate(Spring spring) {
if (mView != null) {
float mappedValue =
(float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1,
1, TO_HIGH);
mView.setScaleX(mappedValue);
mView.setScaleY(mappedValue);
}
}
项目:AndroidAnimations
文件:ReboundDemoActivity.java
@Override public void onSpringUpdate(Spring spring) {
// On each update of the spring value, we adjust the scale of the image view to match the
// springs new value. We use the SpringUtil linear interpolation function mapValueFromRangeToRange
// to translate the spring's 0 to 1 scale to a 100% to 50% scale range and apply that to the View
// with setScaleX/Y. Note that rendering is an implementation detail of the application and not
// Rebound itself. If you need Gingerbread compatibility consider using NineOldAndroids to update
// your view properties in a backwards compatible manner.
float mappedValue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.5);
imageView.setScaleX(mappedValue);
imageView.setScaleY(mappedValue);
}
项目:FloatWindow
文件:ToggleButton.java
/**
* @param value
*/
private void calculateEffect(final double value) {
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:MyScse-Client
文件:ToggleButton.java
/**
* @param value
*/
private void calculateEffect(final double value) {
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:ExhibitionCenter
文件:ToggleButton.java
/**
* @param value
*/
private void calculateEffect(final double value) {
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:EveryXDay
文件:ToggleButton.java
@Override
public void onSpringUpdate(Spring spring) {
final double value = spring.getCurrentValue();
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:test4XXX
文件:OrigamiExample.java
/**
* This method takes the current state of the spring and maps it to all the values for each UI
* element that is animated on this spring. This allows the Spring to act as a common timing
* function for the animation ensuring that all element transitions are synchronized.
*
* You can think of these mappings as similiar to Origami transitions.
* SpringUtil#mapValueFromRangeToRange converts the spring's 0 to 1 transition and maps it to the
* range of animation for a property on a view such as translation, scale, rotation, and alpha.
*/
private void render() {
Resources resources = getResources();
// Get the current spring value.
double value = mSpring.getCurrentValue();
// Map the spring to the feedback bar position so that its hidden off screen and bounces in on tap.
float barPosition =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, mFeedbackBar.getHeight(), 0);
mFeedbackBar.setTranslationY(barPosition);
// Map the spring to the selected photo scale as it moves into and out of the grid.
float selectedPhotoScale =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 0.33, 1);
selectedPhotoScale = Math.max(selectedPhotoScale, 0); // Clamp the value so we don't go below 0.
mSelectedPhoto.setScaleX(selectedPhotoScale);
mSelectedPhoto.setScaleY(selectedPhotoScale);
// Map the spring to the selected photo translation from its position in the grid
float selectedPhotoTranslateX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, Util.dpToPx(-106.667f, resources), 0);
float selectedPhotoTranslateY = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, Util.dpToPx(46.667f, resources), 0);
mSelectedPhoto.setTranslationX(selectedPhotoTranslateX);
mSelectedPhoto.setTranslationY(selectedPhotoTranslateY);
// Map the spring to the photo grid alpha as it fades to black when the photo is selected.
float gridAlpha =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 1, 0);
mPhotoGrid.setAlpha(gridAlpha);
// Map the spring to the photo grid scale so that it scales down slightly as the selected photo // zooms in.
float gridScale =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 1, 0.95);
gridScale = Math.max(gridScale, 0); // Clamp the value so we don't go below 0.
mPhotoGrid.setScaleX(gridScale);
mPhotoGrid.setScaleY(gridScale);
}
项目:test4XXX
文件:ExampleContainerView.java
@Override
public void onSpringUpdate(Spring spring) {
double val = spring.getCurrentValue();
float xlat = (float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, getWidth());
setTranslationX(xlat);
if (mCallback != null) {
mCallback.onProgress(spring.getCurrentValue());
}
}
项目:Backboard
文件:MapPerformer.java
@Override
public void onSpringUpdate(@NonNull final Spring spring) {
mProperty.set(mTarget,
(float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(),
initialStart, initialEnd, start, end)
);
}
项目:Bound
文件:SpringController.java
@Override public void onSpringUpdate(Spring spring) {
super.onSpringUpdate(spring);
val = spring.getCurrentValue();
ViewCompat.setTranslationX(viewCallback.getFabButton(),
(float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, centerX + 100));
ViewCompat.setTranslationY(viewCallback.getFabButton(),
(float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, centerY + 100));
ViewCompat.setTranslationX(viewCallback.getBoundMenu(),
(float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, centerX + 100));
ViewCompat.setTranslationY(viewCallback.getBoundMenu(),
(float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, centerY ));
}
项目:Bound
文件:SpringController.java
@Override public void onSpringUpdate(Spring spring) {
super.onSpringUpdate(spring);
float scaleSpring = (float) SpringUtil.mapValueFromRangeToRange(
spring.getCurrentValue(), 0, 1, 0, scale);
ViewCompat.setScaleX(viewCallback.getBoundMenu(), scaleSpring);
ViewCompat.setScaleY(viewCallback.getBoundMenu(), scaleSpring);
}
项目:pagarme-android
文件:CardHashView.java
@Override public void onSpringUpdate(Spring spring) {
super.onSpringUpdate(spring);
rotateHorizontal = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 0, 180);
if(rotateHorizontal > 90) {
frontCreditCardView.setVisibility(GONE);
backCreditCardView.setVisibility(VISIBLE);
} else {
frontCreditCardView.setVisibility(VISIBLE);
backCreditCardView.setVisibility(GONE);
}
ViewCompat.setRotationY(frontCreditCardView, rotateHorizontal);
ViewCompat.setRotationY(backCreditCardView, 180 - rotateHorizontal);
}
项目:pagarme-android
文件:CardHashView.java
@Override public void onSpringUpdate(Spring spring) {
super.onSpringUpdate(spring);
verticalCurrentValue = spring.getCurrentValue();
float rotation = (float) SpringUtil.mapValueFromRangeToRange(verticalCurrentValue, 0, 1,
0, -30);
ViewCompat.setRotationX(frontCreditCardView, rotation);
ViewCompat.setRotationX(backCreditCardView, rotation);
float scale = (float) SpringUtil.mapValueFromRangeToRange(verticalCurrentValue, 0, 1, 1, 0.7);
ViewCompat.setScaleX(frontCreditCardView, scale);
ViewCompat.setScaleY(frontCreditCardView, scale);
ViewCompat.setScaleX(backCreditCardView, scale);
ViewCompat.setScaleY(backCreditCardView, scale);
if(bottomView != null) {
int creditCardHeight = frontCreditCardView.getHeight();
float cardPositionY = (float) SpringUtil.mapValueFromRangeToRange(verticalCurrentValue, 0,
1, 0, -(creditCardHeight / 6.5));
ViewCompat.setTranslationY(frontCreditCardView, cardPositionY);
ViewCompat.setTranslationY(backCreditCardView, cardPositionY);
ViewCompat.setTranslationY(bottomView,
(float) SpringUtil.mapValueFromRangeToRange(verticalCurrentValue, 0, 1, 0,
-(creditCardHeight / 2.5)));
}
}
项目:HaoCommon
文件:ToggleButton.java
/**
* @param value
*/
private void calculateEffect(final double value) {
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:Dragger
文件:DraggerView.java
@Override public void onSpringUpdate(Spring spring) {
double val = spring.getCurrentValue();
switch (dragPosition) {
case LEFT:
ViewCompat.setTranslationX(dragView,
(float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, -dragView.getWidth()));
break;
case RIGHT:
ViewCompat.setTranslationX(dragView,
(float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, dragView.getWidth()));
break;
case TOP:
ViewCompat.setTranslationY(dragView,
(float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, dragView.getHeight()));
break;
case BOTTOM:
ViewCompat.setTranslationY(dragView,
(float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, -dragView.getHeight()));
break;
default:
break;
}
ViewCompat.setAlpha(shadowView,
(float) (MAX_ALPHA - SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, 1)));
if (draggerCallback != null) {
draggerCallback.onProgress(spring.getCurrentValue());
}
}
项目:Green
文件:OrigamiExample.java
/**
* This method takes the current state of the spring and maps it to all the values for each UI
* element that is animated on this spring. This allows the Spring to act as a common timing
* function for the animation ensuring that all element transitions are synchronized.
*
* You can think of these mappings as similiar to Origami transitions.
* SpringUtil#mapValueFromRangeToRange converts the spring's 0 to 1 transition and maps it to the
* range of animation for a property on a view such as translation, scale, rotation, and alpha.
*/
private void render() {
Resources resources = getResources();
// Get the current spring value.
double value = mSpring.getCurrentValue();
// Map the spring to the feedback bar position so that its hidden off screen and bounces in on tap.
float barPosition =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, mFeedbackBar.getHeight(), 0);
mFeedbackBar.setTranslationY(barPosition);
// Map the spring to the selected photo scale as it moves into and out of the grid.
float selectedPhotoScale =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 0.33, 1);
selectedPhotoScale = Math.max(selectedPhotoScale, 0); // Clamp the value so we don't go below 0.
mSelectedPhoto.setScaleX(selectedPhotoScale);
mSelectedPhoto.setScaleY(selectedPhotoScale);
// Map the spring to the selected photo translation from its position in the grid
float selectedPhotoTranslateX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, Util.dpToPx(-106.667f, resources), 0);
float selectedPhotoTranslateY = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, Util.dpToPx(46.667f, resources), 0);
mSelectedPhoto.setTranslationX(selectedPhotoTranslateX);
mSelectedPhoto.setTranslationY(selectedPhotoTranslateY);
// Map the spring to the photo grid alpha as it fades to black when the photo is selected.
float gridAlpha =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 1, 0);
mPhotoGrid.setAlpha(gridAlpha);
// Map the spring to the photo grid scale so that it scales down slightly as the selected photo // zooms in.
float gridScale =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 1, 0.95);
gridScale = Math.max(gridScale, 0); // Clamp the value so we don't go below 0.
mPhotoGrid.setScaleX(gridScale);
mPhotoGrid.setScaleY(gridScale);
}
项目:PrismView
文件:PrismActivity.java
@Override public void onSpringUpdate(Spring spring) {
super.onSpringUpdate(spring);
double currentValue = spring.getCurrentValue();
ViewCompat.setTranslationX(prismView, (float) SpringUtil.mapValueFromRangeToRange(
currentValue, 0, 1, activityHelper.getWidth(), 0));
mainViewUpdate(currentValue);
}
项目:PrismView
文件:PrismActivity.java
@Override public void onSpringUpdate(Spring spring) {
super.onSpringUpdate(spring);
double currentValue = spring.getCurrentValue();
ViewCompat.setTranslationX(prismView, (float) SpringUtil.mapValueFromRangeToRange(
currentValue, 0, 1, -activityHelper.getWidth(), 0));
mainViewUpdate(currentValue);
}
项目:PrismView
文件:PrismActivity.java
@Override public void onSpringUpdate(Spring spring) {
super.onSpringUpdate(spring);
double currentValue = spring.getCurrentValue();
ViewCompat.setTranslationY(prismView,
(float) SpringUtil.mapValueFromRangeToRange(currentValue, 0, 1,
-activityHelper.getHeight(), 0));
mainViewUpdate(currentValue);
}
项目:PrismView
文件:PrismActivity.java
@Override public void onSpringUpdate(Spring spring) {
super.onSpringUpdate(spring);
double currentValue = spring.getCurrentValue();
ViewCompat.setTranslationY(prismView,
(float) SpringUtil.mapValueFromRangeToRange(currentValue, 0, 1,
activityHelper.getHeight(), 0));
mainViewUpdate(currentValue);
}
项目:PrismView
文件:PrismActivity.java
private void mainViewUpdate(double currentValue) {
float ratio = (float) SpringUtil.mapValueFromRangeToRange(currentValue, 0, 1,
1, smallRatio);
ViewCompat.setScaleX(mainView, ratio);
ViewCompat.setScaleY(mainView, ratio);
ViewCompat.setAlpha(mainView, ratio);
}
项目:AndroidPlayground
文件:BonusAnimationActivity.java
@Override
public void onSpringUpdate(Spring spring) {
float mappedValue =
(float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1,
1.5);
if (mReference.get() != null && mReference.get().mBonusAnimationView != null) {
mReference.get().mBonusAnimationView.setScaleX(mappedValue);
mReference.get().mBonusAnimationView.setScaleY(mappedValue);
}
Log.d("BonusAnimTest", "mappedValue: " + mappedValue);
}
项目:AndroidPlayground
文件:CountdownAnimationTextView.java
@Override
public void onSpringUpdate(Spring spring) {
if (mView != null) {
float mappedValue =
(float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1,
1, TO_HIGH);
mView.setScaleX(mappedValue);
mView.setScaleY(mappedValue);
}
}
项目:Shorcial
文件:MisDatosFragment.java
@Override
public void onSpringUpdate(Spring spring) {
float mappedValue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.5);
imagen.setScaleX(mappedValue);
imagen.setScaleY(mappedValue);
}
项目:Shorcial
文件:IconosVerPlayaEffect.java
@Override
public void onSpringUpdate(Spring spring) {
float mappedValue = (float) SpringUtil.mapValueFromRangeToRange(spring.getCurrentValue(), 0, 1, 1, 0.5);
imagen.setScaleX(mappedValue);
imagen.setScaleY(mappedValue);
}
项目:ToggleButton
文件:ToggleButton.java
/**
* @param value
*/
private void calculateEffect(final double value) {
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:light-novel-library_Wenku8_Android
文件:ToggleButton.java
@Override
public void onSpringUpdate(Spring spring) {
final double value = spring.getCurrentValue();
final float mapToggleX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, spotMinX, spotMaxX);
spotX = mapToggleX;
float mapOffLineWidth = (float) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, 10, spotSize);
offLineWidth = mapOffLineWidth;
final int fb = Color.blue(onColor);
final int fr = Color.red(onColor);
final int fg = Color.green(onColor);
final int tb = Color.blue(offBorderColor);
final int tr = Color.red(offBorderColor);
final int tg = Color.green(offBorderColor);
int sb = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fb, tb);
int sr = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fr, tr);
int sg = (int) SpringUtil.mapValueFromRangeToRange(1 - value, 0, 1, fg, tg);
sb = clamp(sb, 0, 255);
sr = clamp(sr, 0, 255);
sg = clamp(sg, 0, 255);
borderColor = Color.rgb(sr, sg, sb);
postInvalidate();
}
项目:rebound
文件:OrigamiExample.java
/**
* This method takes the current state of the spring and maps it to all the values for each UI
* element that is animated on this spring. This allows the Spring to act as a common timing
* function for the animation ensuring that all element transitions are synchronized.
*
* You can think of these mappings as similiar to Origami transitions.
* SpringUtil#mapValueFromRangeToRange converts the spring's 0 to 1 transition and maps it to the
* range of animation for a property on a view such as translation, scale, rotation, and alpha.
*/
private void render() {
Resources resources = getResources();
// Get the current spring value.
double value = mSpring.getCurrentValue();
// Map the spring to the feedback bar position so that its hidden off screen and bounces in on tap.
float barPosition =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, mFeedbackBar.getHeight(), 0);
mFeedbackBar.setTranslationY(barPosition);
// Map the spring to the selected photo scale as it moves into and out of the grid.
float selectedPhotoScale =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 0.33, 1);
selectedPhotoScale = Math.max(selectedPhotoScale, 0); // Clamp the value so we don't go below 0.
mSelectedPhoto.setScaleX(selectedPhotoScale);
mSelectedPhoto.setScaleY(selectedPhotoScale);
// Map the spring to the selected photo translation from its position in the grid
float selectedPhotoTranslateX = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, Util.dpToPx(-106.667f, resources), 0);
float selectedPhotoTranslateY = (float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, Util.dpToPx(46.667f, resources), 0);
mSelectedPhoto.setTranslationX(selectedPhotoTranslateX);
mSelectedPhoto.setTranslationY(selectedPhotoTranslateY);
// Map the spring to the photo grid alpha as it fades to black when the photo is selected.
float gridAlpha =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 1, 0);
mPhotoGrid.setAlpha(gridAlpha);
// Map the spring to the photo grid scale so that it scales down slightly as the selected photo // zooms in.
float gridScale =
(float) SpringUtil.mapValueFromRangeToRange(value, 0, 1, 1, 0.95);
gridScale = Math.max(gridScale, 0); // Clamp the value so we don't go below 0.
mPhotoGrid.setScaleX(gridScale);
mPhotoGrid.setScaleY(gridScale);
}
项目:rebound
文件:ExampleContainerView.java
@Override
public void onSpringUpdate(Spring spring) {
double val = spring.getCurrentValue();
float xlat = (float) SpringUtil.mapValueFromRangeToRange(val, 0, 1, 0, getWidth());
setTranslationX(xlat);
if (mCallback != null) {
mCallback.onProgress(spring.getCurrentValue());
}
}