最近在做一个项,有一个收藏的功能。后来看到了一点资讯的收藏动画,感觉不错,所有自己就实现了一下。

这是效果:
附上完整的代码,其中Animation_Toast为动画:
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;"></span></div><pre name="code" class="java">public class CollectToast {
private static CollectToast toastCollectSucceed = null;
private Toast toast = null;
private TextView text;
private CollectToast() {}
/**
* 单例模式
*
* @return
*/
public static CollectToast createToast() {
if (toastCollectSucceed == null) {
toastCollectSucceed = new CollectToast();
}
return toastCollectSucceed;
}
/**
* 显示Toast
*
* @param context
* @param root
* @param tvString
* @param result 是否成功
*/
public Toast showToast(Context context, ViewGroup root, String tvString, int duration, boolean result) {
toast = null;
int styleId = R.style.Animation_Toast;
if (toast == null) {
View layout = LayoutInflater.from(context).inflate(R.layout.toast_collect_layout, root);
text = (TextView) layout.findViewById(R.id.title_tv);
ImageView imageView = (ImageView) layout.findViewById(R.id.iv);
if (result)
imageView.setBackgroundDrawable(DrawableUtil.getImageDrawable(context, R.mipmap.doneicon_popup_textpage));
else
imageView.setBackgroundDrawable(DrawableUtil.getImageDrawable(context, R.mipmap.close_popup_textpage));
text.setText(tvString);
toast = new Toast(context);
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(duration);
toast.setView(layout);
toast.show();
} else {
text.setText(tvString);
toast.show();
}
//通过反射给Toast设置动画
try {
Object mTN = null;
mTN = getField(toast, "mTN");
if (mTN != null) {
Object mParams = getField(mTN, "mParams");
if (mParams != null
&& mParams instanceof WindowManager.LayoutParams) {
WindowManager.LayoutParams params = (WindowManager.LayoutParams) mParams;
params.windowAnimations = styleId;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return toast;
}
/**
* 反射字段
*
* @param object 要反射的对象
* @param fieldName 要反射的字段名称
* @return
* @throws NoSuchFieldException
* @throws IllegalAccessException
*/
private static Object getField(Object object, String fieldName) throws NoSuchFieldException, IllegalAccessException {
Field field = object.getClass().getDeclaredField(fieldName);
if (field != null) {
field.setAccessible(true);
return field.get(object);
}
return null;
}
}</pre><br>
<div style="text-align:left"><span style="font-family:Arial,Helvetica,sans-serif"></span></div>
<pre></pre>
<br>
<br>
# android
# 一点资讯
# 收藏toast动画
# Android WebView自定义长按选择实现收藏/分享选中文本功能
# Android仿拉手网团购App我的收藏界面实例代码
# Android自定义View实现仿驾考宝典显示分数效果(收藏)
# Android开发中使用sqlite实现新闻收藏和取消收藏的功能
# Android模仿微信收藏文件的标签处理功能
# Android编程之文件读写操作与技巧总结【经典收藏】
# java
# Android:在eclipse中的快捷键(经典收藏)
# 这是
# 做一个
# 有一个
# 实现了
# 看到了
# TextView
# toast
# return
# param
# createToast
相关文章:
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
如何快速生成橙子建站落地页链接?
大连网站设计制作招聘信息,大连投诉网站有哪些?
如何选择高效稳定的ISP建站解决方案?
已有域名如何免费搭建网站?
广东企业建站网站优化与SEO营销核心策略指南
网页设计与网站制作内容,怎样注册网站?
建站之星如何实现PC+手机+微信网站五合一建站?
盐城做公司网站,江苏电子版退休证办理流程?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
文字头像制作网站推荐软件,醒图能自动配文字吗?
建站之星好吗?新手能否轻松上手建站?
如何快速辨别茅台真假?关键步骤解析
制作电商网页,电商供应链怎么做?
如何生成腾讯云建站专用兑换码?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
如何在IIS管理器中快速创建并配置网站?
常州自助建站工具推荐:低成本搭建与模板选择技巧
如何快速打造个性化非模板自助建站?
建站之星如何助力企业快速打造五合一网站?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
如何在香港服务器上快速搭建免备案网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
C++中引用和指针有什么区别?(代码说明)
如何用PHP工具快速搭建高效网站?
Swift开发中switch语句值绑定模式
如何在阿里云高效完成企业建站全流程?
学校建站服务器如何选型才能满足性能需求?
北京网站制作网页,网站升级改版需要多久?
公司门户网站制作流程,华为官网怎么做?
如何在建站宝盒中设置产品搜索功能?
企业微网站怎么做,公司网站和公众号有什么区别?
浅谈Javascript中的Label语句
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
建站之星客服服务时间及联系方式如何?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
Android自定义控件实现温度旋转按钮效果
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
详解jQuery停止动画——stop()方法的使用
如何用PHP快速搭建CMS系统?
如何在万网主机上快速搭建网站?
如何高效配置IIS服务器搭建网站?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
建站三合一如何选?哪家性价比更高?
如何快速登录WAP自助建站平台?
南京网站制作费用,南京远驱官方网站?
如何正确下载安装西数主机建站助手?
*请认真填写需求信息,我们会在24小时内与您取得联系。