android开发分享Android如何使用圆形揭露动画巧妙地隐藏或显示View详解

1.引言在开发过程中,我们经常会遇到需要显示或隐藏view视图的情况,如果在隐藏或显示view的过程中加上动画,能让交互更加的友好和动感,本文将介绍如何使用圆形揭露动画巧妙地隐藏或显示view。2.圆

上述就是android开发分享Android如何使用圆形揭露动画巧妙地隐藏或显示View详解的全部内容,如果对大家有所用处且需要了解更多关于Android学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

1.引言

在开发过程中,我们经常会遇到需要显示或隐藏view视图的情况,如果在隐藏或显示view的过程中加上动画,能让交互更加的友好和动感,android开发分享Android如何使用圆形揭露动画巧妙地隐藏或显示View详解将介绍如何使用圆形揭露动画巧妙地隐藏或显示view。

2.圆形揭露动画简介

圆形揭露动画是动画的一种,是由viewanimationutils类提供的,调用viewanimationutils.createcircularreveal()方法可以创建圆形揭露动画,使用此动画要求api级别为21及以上版本,createcircularreveal()方法的参数如下:

//view:使用圆形动画的视图  //centerx:裁剪圆形的中心的x坐标,这个中心是指相对于视图本身  //centery:裁剪圆形的中心的y坐标,这个中心是指相对于视图本身  //startradius:圆形的起始半径  //endradius:圆形的结束半径  public static animator createcircularreveal(view view,int centerx,  int centery, float startradius, float endradius)

3.使用圆形揭露动画隐藏或显示view

3.1 简易布局

简易布局如下:

<linearlayout xmlns:android="https://schemas.android.com/apk/res/android"      xmlns:app="https://schemas.android.com/apk/res-auto"      xmlns:tools="https://schemas.android.com/tools"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:gravity="center_horizontal"      android:orientation="vertical"      tools:context=".mainactivity">        <button          android:id="@+id/btn_hide_or_show"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:text="隐藏或显示"          android:textcolor="@color/black"          android:textsize="18sp" />        <imageview          android:id="@+id/imageview"          android:layout_width="80dp"          android:layout_height="80dp"          android:layout_margintop="50dp"          android:src="@mipmap/ic_launcher"/>  </linearlayout>

3.2 使用圆形揭露动画隐藏view

首先要计算得出view相对于自身的中心点的x坐标和y坐标,然后调用math.hypot()方法计算得出圆形的半径,接着调用viewanimationutils.createcircularreveal(imageview, ivxcenter, ivycenter, circleradius, 0f)创建圆形揭露动画,增加动画执行的listener,在动画执行结束后调用imageview.setvisibility(view.gone),最后启动动画,示例如下:

if (build.version.sdk_int >= build.version_codes.lollipop) {       int width = imageview.getwidth();       int height = imageview.getheight();       int ivxcenter = width/2;       int ivycenter = height/2;       float circleradius = (float) math.hypot(ivxcenter, ivycenter);       animator circularreveal = viewanimationutils.createcircularreveal(imageview, ivxcenter, ivycenter, circleradius, 0f);       circularreveal.addlistener(new animatorlisteneradapter() {           @override           public void onanimationend(animator animation) {               super.onanimationend(animation);               imageview.setvisibility(view.gone);               isvisible = false;           }       });       circularreveal.start();   }else {       imageview.setvisibility(view.gone);       isvisible = false;   }

3.3 使用圆形揭露动画显示view

使用圆形揭露动画显示view,先计算得出view相对于自身的中心点的x坐标和y坐标,然后算出圆形的半径,接着创建圆形揭露动画,此时的起始半径是0f,结束半径是圆形的半径,调用imageview.setvisibility(view.visible),最后启动动画,示例如下:

if (build.version.sdk_int >= build.version_codes.lollipop) {      int width = imageview.getwidth();      int height = imageview.getheight();      int ivxcenter = width/2;      int ivycenter = height/2;      float circleradius = (float) math.hypot(ivxcenter, ivycenter);      animator circularreveal = viewanimationutils.createcircularreveal(imageview, ivxcenter, ivycenter, 0f, circleradius);      imageview.setvisibility(view.visible);      isvisible = true;      circularreveal.start();  }else {      imageview.setvisibility(view.visible);      isvisible = true;  }

4.总结

使用圆形揭露动画隐藏或显示view,主要是计算出view相对于自身的中心点的x坐标和y坐标,并计算出圆形半径,在调用viewanimationutils.createcircularreveal()方法创建的时候要注意起始半径和结束半径的填写,隐藏view的时候在动画执行完毕后setvisibility()方法隐藏,显示view的时候,在动画启动前调用setvisibility()方法显示。

到此这篇关于android如何使用圆形揭露动画巧妙地隐藏或显示view的文章就介绍到这了,更多相关android隐藏或显示view内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/1083434.html

(0)
上一篇 2022年4月29日
下一篇 2022年4月29日

精彩推荐