热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android动画变成素材,如何在android素材设计中实现以下动画?

我没有测试过,但它应该工作.将此依赖关系添加到您的应用程序毕业文件中:编译’com.github.ozodrukh:CircularReveal

我没有测试过,但它应该工作.

将此依赖关系添加到您的应用程序毕业文件中:

编译’com.github.ozodrukh:CircularReveal:1.1.1′

在活动开始时声明这些变量:

LinearLayout mRevealView;

boolean hidden = true;

在你的onCreate方法中添加它:

mRevealView = (LinearLayout) findViewById(R.id.reveal_items);

mRevealView.setVisibility(View.INVISIBLE);

在您的FAB的onClick方法中,添加:

int cx = (mRevealView.getLeft() + mRevealView.getRight());

int cy = mRevealView.getTop();

int radius = Math.max(mRevealView.getWidth(), mRevealView.getHeight());

//Below Android LOLIPOP Version

if (Build.VERSION.SDK_INT

SupportAnimator animator =

ViewAnimationUtils.createCircularReveal(mRevealView, cx, cy, 0, radius);

animator.setInterpolator(new AccelerateDecelerateInterpolator());

animator.setDuration(700);

SupportAnimator animator_reverse = animator.reverse();

if (hidden) {

mRevealView.setVisibility(View.VISIBLE);

animator.start();

hidden = false;

} else {

animator_reverse.addListener(new SupportAnimator.AnimatorListener() {

@Override

public void onAnimationStart() {

}

@Override

public void onAnimationEnd() {

mRevealView.setVisibility(View.INVISIBLE);

hidden = true;

}

@Override

public void onAnimationCancel() {

}

@Override

public void onAnimationRepeat() {

}

});

animator_reverse.start();

}

}

// Android LOLIPOP And ABOVE Version

else {

if (hidden) {

Animator anim = android.view.ViewAnimationUtils.

createCircularReveal(mRevealView, cx, cy, 0, radius);

mRevealView.setVisibility(View.VISIBLE);

anim.start();

hidden = false;

} else {

Animator anim = android.view.ViewAnimationUtils.

createCircularReveal(mRevealView, cx, cy, radius, 0);

anim.addListener(new AnimatorListenerAdapter() {

@Override

public void onAnimationEnd(Animator animation) {

super.onAnimationEnd(animation);

mRevealView.setVisibility(View.INVISIBLE);

hidden = true;

}

});

anim.start();

}

}

将此方法添加到您的活动中:

private void hideRevealView() {

if (mRevealView.getVisibility() == View.VISIBLE) {

mRevealView.setVisibility(View.INVISIBLE);

hidden = true;

}

}

为显示创建一个新的xml布局,称之为reveal_layout.xml并添加:

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_marginTop="?attr/actionBarSize">

//You can include whatever layout you want here

为了这个工作,您必须将其添加到活动布局的末尾:

android:layout_width="match_parent"

android:layout_height="wrap_content">

希望这可以帮助.



推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 今天就跟大家聊聊有关怎么在Android应用中实现一个换肤功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根 ... [详细]
  • 在一对一直播源码使用过程中,有时会出现软键盘切换闪屏问题,就是当切换表情的时候屏幕会跳动,因此要对一对一直播源码表情面板无缝切换进行优化。 ... [详细]
  • 2021年最详细的Android屏幕适配方案汇总
    1Android屏幕适配的度量单位和相关概念建议在阅读本文章之前,可以先阅读快乐李同学写的文章《Android屏幕适配的度量单位和相关概念》,这篇文章 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文介绍了一个Magento模块,其主要功能是实现前台用户利用表单给管理员发送邮件。通过阅读该模块的代码,可以了解到一些有关Magento的细节,例如如何获取系统标签id、如何使用Magento默认的提示信息以及如何使用smtp服务等。文章还提到了安装SMTP Pro插件的方法,并给出了前台页面的代码示例。 ... [详细]
author-avatar
竹条蠢爱玉米
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有