最近在做一个项,有一个收藏的功能。后来看到了一点资讯的收藏动画,感觉不错,所有自己就实现了一下。
这是效果:
附上完整的代码,其中Animation_Toast为动画:
<div ><span ></span></div><pre name="code" class="java">public class CollectToast { private static CollectToast toastCollectSucceed = null; private Toast toast = null; private TextView text; private CollectToast() {} public static CollectToast createToast() { if (toastCollectSucceed == null) { toastCollectSucceed = new CollectToast(); } return toastCollectSucceed; } 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; } 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 ><span ></span></div> <pre></pre> <br> <br>
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 【JavaScript】ES6 中class定义类
- Java 中 short 的性能优势具体有哪些?(short在java中的性能优势有哪些)
- 在 JavaScript 中如何正确使用 window.open() 的参数?(JavaScript中window.open()参数怎么使用)
- 5G如何推动下一代物联网项目的发展?
- 这一次,新的规则是什么?
- 如何通过 Java 设计模式实现可扩展?(Java设计模式如何实现可扩展)
- 从资金周转到预测未来,华为“激励60秒计划”助力生态进化升级
- 在 Java 中如何通过 throw 抛出异常并进行解决?(java中使用throw抛出异常怎么解决)
- 从云到云智能,阿里云发布了什么?_云计算半月刊第53期
- 华为e+平台如何做到让生态伙伴省心、舒心
猜你喜欢
AI推送时光机Android仿一点资讯收藏Toast动画效果
后端开发2023-05-31
Android实现仿今日头条点赞动画效果实例
后端开发2024-04-02
Android仿一号店货物详情轮播图动画效果
后端开发2023-05-31
Android仿网易一元夺宝客户端下拉加载动画效果(一)
后端开发2022-06-06
怎么在Android中实现一个仿微软系统加载动画效果
后端开发2023-06-14
利用Android实现一种点赞动画效果的全过程
后端开发2022-12-08
咦!没有更多了?去看看其它编程学习网 内容吧