android textview 淡入淡出,TextView淡入淡出效果
经常看到有些应用里面TextView会有淡入淡出效果,给人一种眼前一亮的感觉,如下图:
这篇文章简单介绍下它的代码实现。
首先,可以先将此动画分解成两部分,即淡入和淡出,淡入的时候,从底部向中心点移动,移动的过程中,文字越变越清晰;
淡出的时候,从中心点向顶部移动,移动过程中,文字越变越模糊。这其中涉及到两个属性:translationY(控件在纵向上的移动距离)、alpha(控件的不透明度)
本章将利用属性动画实现其效果。
首先,看淡出的实现:
privateObjectAnimator mFadeOutObjectAnimator;//由于淡出,是向上移动,坐标为负,这里设定向上移动150个像素
mFadeOutObjectAnimator = ObjectAnimator.ofFloat(mFadeinoutTv, "translationY", 0, -150);//动画执行时间设定为500毫秒
mFadeOutObjectAnimator.setDuration(500);
mFadeOutObjectAnimator.addUpdateListener(newValueAnimator.AnimatorUpdateListener() {
@Overridepublic voidonAnimationUpdate(ValueAnimator animation) {//当前动画时间点的动画值,在0到-150之间
float value = (float) animation.getAnimatedValue();//由于不透明度取值为0-1,故而除以150,value/150取值在-1到0之间
mFadeinoutTv.setAlpha(1 + value/150);
}
});
mFadeOutObjectAnimator.addListener(newAnimator.AnimatorListener() {
@Overridepublic voidonAnimationStart(Animator animation) {
}
@Overridepublic voidonAnimationEnd(Animator animation) {//动画执行完毕后修改TextView的值
mFadeinoutTv.setText("124");
}
@Overridepublic voidonAnimationCancel(Animator animation) {
}
@Overridepublic voidonAnimationRepeat(Animator animation) {
}
});
mFadeOutObjectAnimator.start();
以上代码大概意思为将TextView以一定规律向上从中心点向上移动150像素,同时将TextView的不透明度从1慢慢变到0,达到TextView淡出的效果。效果如下图:
我们再来看看淡入的实现:
privateObjectAnimator mFadeInObjectAnimator;//由于是淡入,从底部向中心点移动,移动距离为150像素
mFadeInObjectAnimator = ObjectAnimator.ofFloat(mFadeinoutTv, "translationY", 150, 0);//动画执行时间设置为500毫秒
mFadeInObjectAnimator.setDuration(500);//动画推迟100毫秒执行
mFadeInObjectAnimator.setStartDelay(100);
mFadeInObjectAnimator.addUpdateListener(newValueAnimator.AnimatorUpdateListener() {
@Overridepublic voidonAnimationUpdate(ValueAnimator animation) {//当前动画时间点的动画值
float value = (float) animation.getAnimatedValue();//动画值在150-0之间变化,而alpha在0-1之间变化,故而alue/150
mFadeinoutTv.setAlpha(1 - value/150);
}
});
mFadeInObjectAnimator.start();
以上代码大概意思为将TextView以一定规律从底部向中心点移动,同时将TextView的不透明度从0慢慢变到1,达到TextView淡入的效果。效果如下图:
好了,现在淡入、淡出两个动画都实现了,只要组合起来执行便可,如下代码:
//AnimatorSet是可以让几个动画组合在一起执行的类
privateAnimatorSet mAnimatorSet;
mAnimatorSet= newAnimatorSet();//先淡出再淡入
mAnimatorSet.play(mFadeOutObjectAnimator).before(mFadeInObjectAnimator);
mAnimatorSet.start();
效果图:
源码:
原文:http://www.cnblogs.com/tyrion/p/4337630.html
android textview 淡入淡出,TextView淡入淡出效果相关推荐
- JQuery中淡出和淡入动画效果
开发工具与关键技术: MVC 班级:18级(4)班 撰写时间:2019.5.20 JQuery中淡出动画fadeOut让元素在页面不可见,常用的办法就是通过设置样式的display:none.除此之外 ...
- Android移动开发之【通往安卓的神奇之旅】TextView和ImageView 实现跑马灯效果
文章目录 1 textview 1.1 介绍属性(全) 1.2 自带跑马灯代码 2 imageview 1 textview 1.1 介绍属性(全) android:autoLink设置是否当文本为U ...
- android直播聊天室图文混排效果,仿抖音直播聊天室换行内容TextView+ReplacementSpan...
一.抖音聊天室文本,看似简单并非简单 抖音文本换行. 二.实现方案TextView + ReplacementSpan 方案思路 利用span原理,继承ReplacementSpan,自定义VIewS ...
- Android移动应用开发之TextView实现阴影跑马灯文字效果
文章目录 前言 创建项目 配置文件简介 阴影走马灯文字 values/string.xml values/colors.xml layout/activity_main.xml 法2 main/jav ...
- Android 第五章 TextView
android:id="@+id/xx"控件标识.标签.ID android:layout_margin="10dp" 子控件与父控件之间距离10dp andr ...
- Android中实现为TextView添加多个可点击的文本
这篇文章主要介绍了Android中实现为TextView添加多个可点击的文本,可实现类似Android社交软件显示点赞用户并通过用户名称进入该用户主页的功能,是非常实用的技巧,需要的朋友可以参考下.具 ...
- 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...
- android 多个textview,Android:多个textview像单个文本
需要格式化几个textview像一个又一个独特的文本块,有没有办法实现这个?Android:多个textview像单个文本 这样 __________________________ | | | | ...
- Android之——自己定义TextView
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47082241 在这一篇博文中,将向大家介绍怎样以最简单的方式,来自己定义Andro ...
- 简易实现 TextView单行文本水平触摸滑动效果
为了方便查看,已使用markdown编辑形成新博文. 本文Mardown地址 近期做应用的时候实用到TextView单行长文本,当文本内容过长时候又想实现触摸水平滑动效果. 网上找了非常多,都没有看到 ...
最新文章
- [JS][dfs]题解 | #迷宫问题#
- 数字营销迎来黄金期 TalkingData推出“营销云”平台
- linux lddbus设备,Linux那些事儿之我是Sysfs(4)举例一lddbus | 技术部落
- python官方网站是-Python基础
- linux 下DHCP的安装
- LeetCode 2146. 价格范围内最高排名的 K 样物品(BFS)
- xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd报...
- 乒乓球十一分制比赛规则_乒乓球的基本比赛规则
- unity3d Android多渠道,Unity For Android多渠道SDK接入解决方案
- C++中时间相关函数的使用
- php web服务器部署,php – 如何配置apache web服务器以部署laravel 5
- CodeForces - 748C Santa Claus and Robot
- plc应用与c语言编程区别,PLC编程与应用入门基础知识
- 使用腾讯云服务器搭建自己网站应该怎么做
- 免费压缩视频大小最佳方法?
- Android Studio项目编码设置为GBK或UTF-8 中文乱码 和 Eclipse项目编码设置
- 软件测试价值观-SMBT新理念
- uni-app学习 form表单(五)
- linux用户行为日志审计方案(sudo)
- 怎么利用计算机教学,浅谈在课堂教学中如何应用信息技术
热门文章
- Linux du命令(du -h ,du -s)
- CRM软件的未来发展趋势
- 服务器主控芯片,物联网主控芯片6大架构分析 谁能独当一面
- 【MQTT学习】lesson8. :Retained 消息和 LWT
- [转]汽车ARM攒机指南
- 为何个税突然变多了?“税率跳档”了解一下
- 【数学史】大富翁的概率
- 张驰咨询:关于企业选择六西格玛绿带培训人员,你需要知道这些
- Graph Neural Network-Based Anomaly Detection in Multivariate Time Series 代码配置及解析
- Mac 和 Windows 共享一套鼠标键盘