android开发 EditText文字变更时 实现穿越动画

android开发时EditText的文字发生变化时,透明度从低到高。... android开发时 EditText 的文字发生变化时,透明度从低到高。 展开
 我来答
幻想流逝
推荐于2016-01-10 · TA获得超过1743个赞
知道大有可为答主
回答量:642
采纳率:75%
帮助的人:565万
展开全部
因为你描述的不够清楚,我只能按照自己的理解写了下。比较粗糙,而且因为用到了差值动画,所以适用于3.0以上的android系统,你给自己的TextView或EditText添加个文字改变监听,例如: 你的文本控件.addTextChangedListener(new TextWatcher(){});然后重写onTextChangedfang方法,在里面调用下面的方法就行了。里面的效果我暂时写死了,你可以根据需要自己修改参数。

private void changeTextAlpha(final TextView target){
final int color = target.getCurrentTextColor();
target.setTextColor(0 * 0x1000000 + color);
//设置起始与结束值(透明度),从0到255渐变
ValueAnimator valueAnimator = ValueAnimator.ofInt(0, 255);
valueAnimator.setEvaluator(new IntEvaluator());
//设置插值器,线性(匀速)渐变
valueAnimator.setInterpolator(new LinearInterpolator());
valueAnimator.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
int alpha = (Integer)animator.getAnimatedValue();
target.setTextColor(alpha * 0x1000000 + color);
}
});
//持续时间3秒
valueAnimator.setDuration(3000).start();
}
更多追问追答
追问
好的,谢谢你,我试试!很厉害的大神阿!
我的想法是: 再EditText .setText()方法 调用时, 该控件里的字会集体替换,我想让字替换时,做一个动画。
动画效果:被替换的字体,慢慢变淡,直至消失, 新字慢慢由淡变深。
动画作用:这样的效果,就不会太耀眼和突显。给人平和静默的感觉。IOS效果类似吧!
追答

发现颜色的计算有误,改了一下,应该能实现你说的效果了。

回答有字数限制,直接给你Demo例子吧,工程使用的api版本是15,对应android系统4.0.3




推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式