您的位置:首页 > 编程语言 > Lua

字符估值器CharEvaluator

2016-04-20 15:22 435 查看
字符估值器

import android.animation.TypeEvaluator;

/**
* Created by zl.peng on 2016-04-20.
*/
public class CharEvaluator implements TypeEvaluator<Character> {

@Override
public Character evaluate(float fraction, Character startValue, Character endValue) {
checkParam(fraction, startValue, endValue);
int delta = (int) endValue - (int) startValue;
int current = startValue + Math.round(delta * fraction);
char c = (char) current;
return c;
}

private void checkParam(float fraction, Character startValue, Character endValue) {
if (fraction < 0 || fraction > 1)
throw new IllegalArgumentException("fraction 范围:0.0f ~ 1.0f");
if (!Character.isLowerCase(startValue) && !Character.isUpperCase(startValue))
throw new IllegalArgumentException(startValue + "不是大写字母或小写字母");
if (!Character.isLowerCase(endValue) && !Character.isUpperCase(endValue))
throw new IllegalArgumentException(endValue + "不是大写字母或小写字母");
if (!((Character.isLowerCase(startValue) && Character.isLowerCase(endValue)) || (Character.isUpperCase(startValue) && Character.isUpperCase(endValue))))
throw new IllegalArgumentException("请统一使用大写或小写");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: