Android仿一点资讯收藏Toast动画效果
发布时间 - 2026-01-11 02:00:40 点击率:次最近在做一个项,有一个收藏的功能。后来看到了一点资讯的收藏动画,感觉不错,所有自己就实现了一下。

这是效果:
附上完整的代码,其中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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
javascript如何操作浏览器历史记录_怎样实现无刷新导航
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何生成腾讯云建站专用兑换码?
网站优化排名时,需要考虑哪些问题呢?
如何自定义建站之星网站的导航菜单样式?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
如何快速搭建安全的FTP站点?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
微信小程序 配置文件详细介绍
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
如何在阿里云服务器自主搭建网站?
如何在万网自助建站中设置域名及备案?
如何用y主机助手快速搭建网站?
韩国服务器如何优化跨境访问实现高效连接?
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
奇安信“盘古石”团队突破 iOS 26.1 提权
Bootstrap整体框架之JavaScript插件架构
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
网站页面设计需要考虑到这些问题
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
如何在服务器上配置二级域名建站?
如何用已有域名快速搭建网站?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
如何在IIS服务器上快速部署高效网站?
详解jQuery停止动画——stop()方法的使用
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
北京企业网站设计制作公司,北京铁路集团官方网站?
如何在橙子建站上传落地页?操作指南详解
长沙企业网站制作哪家好,长沙水业集团官方网站?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
深圳网站制作的公司有哪些,dido官方网站?
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
香港服务器租用每月最低只需15元?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
清除minerd进程的简单方法
Python面向对象测试方法_mock解析【教程】

