热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android自定义FloatingText仿点赞+1特效

这篇文章主要为大家详细介绍了Android自定义FloatingText仿点赞+1特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android自定义View,可以仿点赞往上飘+1的一个特效,或者点击加入购物车商品抛物线特效。

FloatingText 是一个能够在任何控件之上执行漂浮效果动画的控件。

原文github地址

效果图

1. AndroidStudio使用

dependencies {

  compile 'com.ufreedom.uikit:FloatingTextLibrary:0.2.0'

}

2. 使用

FloatingText  floatingText = new FloatingText.FloatingTextBuilder(Activity)
  .textColor(Color.RED) // 漂浮字体的颜色
  .textSize(100)  // 浮字体的大小
  .textContent("+1000") // 浮字体的内容
  .offsetX(100) // FloatingText 相对其所贴附View的水平位移偏移量
  .offsetY(100) // FloatingText 相对其所贴附View的垂直位移偏移量
  .floatingAnimatorEffect(FloatingAnimator) // 漂浮动画
  .floatingPathEffect(FloatingPathEffect) // 漂浮的路径
  .build();

floatingText.attach2Window(); //将FloatingText贴附在Window上

//启动漂浮效果
floatingText.startFloating(View); // 传入一个View,FloatingText 就会相对于这个View执行漂浮效果

自定义漂浮动画
通过实现 FloatingAnimator 接口可以实现自定义漂浮动画,详情查看原github。

自定义漂浮路径

通过实现 FloatingPathEffect 和 FloatingPathAnimator 可以自定义路径动画

FloatingPath 代表浮动路径

JAVA

// +1 向上移动效果
final View layoutTranslateFloating = findViewById(R.id.layoutTranslateView);
final View translateFloatingView = findViewById(R.id.translateView);
final FloatingText  translateFloatingText = new FloatingText.FloatingTextBuilder(MainActivity.this)
        .textColor(Color.RED)
        .textSize(100)
        .textContent("+1")
        .build();
    translateFloatingText.attach2Window();

    assert layoutTranslateFloating != null;
    layoutTranslateFloating.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        translateFloatingText.startFloating(translateFloatingView);
      }
    });


//+1 放大效果

View layoutScaleView = findViewById(R.id.layoutScaleView);
final View scaleView = findViewById(R.id.scaleView);
final FloatingText scaleFloatingText = new FloatingText.FloatingTextBuilder(MainActivity.this)
        .textColor(Color.parseColor("#7ED321"))
        .textSize(100)
        .offsetY(-100)
        .floatingAnimatorEffect(new ScaleFloatingAnimator())
        .textContent("+1")
        .build();
    scaleFloatingText.attach2Window();

    assert scaleView != null;
    assert layoutScaleView != null;
    layoutScaleView.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        scaleFloatingText.startFloating(scaleView);
      }
    });


//自定义 螺旋上升动画
final FloatingText cubicFloatingText = new FloatingText.FloatingTextBuilder(MainActivity.this)
        .textColor(Color.RED)
        .textSize(100)
        .floatingAnimatorEffect(new CurvePathFloatingAnimator())
        .floatingPathEffect(new CurveFloatingPathEffect())
        .textContent("Hello! ")
        .build();
    cubicFloatingText.attach2Window();


    View layoutCurveView = findViewById(R.id.layoutCurveView);
    final View curveView = findViewById(R.id.curveView);
    assert curveView != null;
    assert layoutCurveView != null;
    layoutCurveView.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        cubicFloatingText.startFloating(curveView);
      }
    });

XML


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 详解 | 日志系统ViseLog的基本使用与功能
    本文详细介绍了日志系统ViseLog的使用方法及其核心功能,旨在帮助开发者更好地理解和利用这一工具,提高开发效率。 ... [详细]
  • 本文介绍了在Android项目中实现时间轴效果的方法,通过自定义ListView的Item布局和适配器逻辑,实现了动态显示和隐藏时间标签的功能。文中详细描述了布局文件、适配器代码以及时间格式化工具类的具体实现。 ... [详细]
  • LCUI 2.1.0 版本现已推出,这是一个用 C 语言编写的图形用户界面开发库,适合创建轻量级的桌面应用程序。此次更新包括多项修复和功能增强,并正式宣布将启动 Android 支持的开发计划。 ... [详细]
  • 本文详细介绍了如何在Android应用中使用GridView组件以网格形式展示数据(如文本和图像)。通过行列布局,实现类似矩阵的数据展示效果。 ... [详细]
  • 在使用Maven进行项目构建时,由于依赖库的下载速度慢常常让人感到沮丧,这直接影响了开发效率和学习热情。幸运的是,阿里云提供了一个快速的国内镜像服务,能够显著提升Maven项目的构建速度。 ... [详细]
  • Android中实现复合旋转动画效果
    本文将探讨如何在Android应用中实现动态且吸引人的旋转动画。通过结合多种动画类型,如透明度变化、旋转、缩放和位移,可以创造出更为复杂的视觉效果。我们将从XML布局和Java代码两个方面进行详细介绍。 ... [详细]
  • Android商城应用开发指南(第二部分):创建启动欢迎页
    大多数商城应用程序在启动时会显示一个欢迎页面,以提升用户体验。本文将指导您如何实现一个基本的欢迎页,该页面会在用户打开应用后短暂展示,随后自动跳转至主界面。 ... [详细]
  • 任务,栈, ... [详细]
  • Microsoft即将发布WPF/E的CTP(Community Technology Preview)和SDK,标志着RIA(Rich Internet Application)技术的新里程碑。更多详情及下载链接请参见MSDN官方页面。 ... [详细]
  • 在Python编程学习过程中,许多初学者常遇到各种功能实现难题。虽然这些问题往往并不复杂,但找到高效解决方案却能显著提升编程效率。本文将介绍一个名为‘30-seconds-of-python’的优质资源,帮助大家快速掌握实用的Python技巧。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • CentOS 转向引发争议,联合创始人推出 Rocky Linux
    CentOS 转向 CentOS Stream 引发用户不满,其联合创始人 Gregory Kurtzer 推出新的社区项目 Rocky Linux,旨在延续 CentOS 的精神。 ... [详细]
  • Flowable系列教程:运用ProcessEngineConfigurator实现高级流程引擎配置
    本文探讨了通过ProcessEngineConfigurator接口实现对Flowable流程引擎的高级配置方法。这种方法允许开发者通过自定义配置器来增强或修改流程引擎的行为。 ... [详细]
  • Linux环境下Git安装及常见问题解析
    本文详细介绍了在Ubuntu系统中安装Git的过程,包括环境检查、软件安装、用户配置以及SSH密钥生成等步骤,并针对安装过程中可能出现的问题提供了有效的解决方案。 ... [详细]
  • 修改Linux登录欢迎信息
    编辑etcmotd文件(没有自己创建即可)▽_.._,------------.,'`.(HelloBoy!)__)__`\`-,----------'((`- ... [详细]
author-avatar
TheKing小狼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有