首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在android中完成动画时隐藏视图?

在Android中,您可以使用以下方法在动画完成后隐藏视图:

  1. 使用ViewPropertyAnimator
代码语言:java
复制
View viewToHide = findViewById(R.id.view_to_hide);
viewToHide.animate()
    .alpha(0)
    .setDuration(1000)
    .withEndAction(new Runnable() {
        @Override
        public void run() {
            viewToHide.setVisibility(View.GONE);
        }
    });
  1. 使用Animation
代码语言:java
复制
View viewToHide = findViewById(R.id.view_to_hide);
AlphaAnimation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setDuration(1000);
fadeOut.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
        // Do nothing
    }

    @Override
    public void onAnimationEnd(Animation animation) {
        viewToHide.setVisibility(View.GONE);
    }

    @Override
    public void onAnimationRepeat(Animation animation) {
        // Do nothing
    }
});
viewToHide.startAnimation(fadeOut);
  1. 使用TransitionManager
代码语言:java
复制
ViewGroup viewGroup = findViewById(R.id.view_group);
View viewToHide = findViewById(R.id.view_to_hide);
TransitionManager.go(new Scene(viewGroup), new AutoTransition()
    .setDuration(1000)
    .addListener(new Transition.TransitionListener() {
        @Override
        public void onTransitionStart(Transition transition) {
            // Do nothing
        }

        @Override
        public void onTransitionEnd(Transition transition) {
            viewToHide.setVisibility(View.GONE);
        }

        @Override
        public void onTransitionCancel(Transition transition) {
            // Do nothing
        }

        @Override
        public void onTransitionPause(Transition transition) {
            // Do nothing
        }

        @Override
        public void onTransitionResume(Transition transition) {
            // Do nothing
        }
    }));

这些方法可以帮助您在动画完成后隐藏视图,而不需要提及其他云计算品牌商。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android控件显示、隐藏,增加动画效果

Android控件显示、隐藏,增加动画效果 首先还是看一下演示效果吧,不然凭什么相信我的帖子能解决你的问题呢? 效果GIF如下 ?...translateAniShow.setRepeatMode(Animation.REVERSE); translateAniShow.setDuration(1000); //向下位移隐藏动画...ivAlphaLogo.startAnimation(alphaAniHide); //这个地方为什么要做动画的监听呢,因为隐藏和显示不一样..., //必须在动画结束之后再隐藏你的控件,这样才不会显得很突兀 alphaAniHide.setAnimationListener(new...:toXScale="0" android:toYScale="0" /> 你只要把上面的代码复制到你的项目里面即可实现效果,很简单的,有什么问题可以直接评论区发问,我会第一间回复的。

4.6K30

何在 Android 完成一个 APT 项目的开发?

本文侧重于实际应用的讲解,以Android APP开发过程中一个常见的页面跳转场景为示例,从搭建项目、APT数据与功能介绍、提取数据和自动化生成代码几个过程,逐步讲解如何完成一个APT项目的开发。...其它GreenDao中使用的JDT与APT思想完全一致,只是IDE与工具不同。 使用场景举例 1.需求场景 在Android开发,Activity的跳转是必不可少的操作。...举例: kapt project(':libProce') 至此,工程整体结构已经搭建完成。 后续将介绍APT各种类和对象的作用,以及如何实现我们需要的功能。 ?...APT的数据类型与概念 1.ProcessingEnvironment 当我们在子类复写了AbstractProcessor的init方法,其参数就是一个ProcessingEnvironment...12.RoundEnvironment 当我们在子类复写了AbstractProcessor的process方法,其参数就是一个RoundEnvironment对象。

1.8K30

在React Native构建启动屏

在这个教程,我们将演示如何在React Native构建一个启动屏幕。我们将指导你如何使用 react-native-splash-screen 为iOS和Android应用构建出色的欢迎界面。...此外,由于Expo很受欢迎,许多人常常选择使用它,我们也将探讨如何在Expo构建启动屏幕。 什么是启动画面? 启动画面是用户访问应用程序其余功能之前出现的第一个屏幕。...本教程将指导你如何准备合适的图片大小,更新必要的文件,并在应用加载隐藏启动屏幕。...完成后的应用将如下图所示 为什么启动画面的图片大小很重要 为移动应用创建启动画面可能会有些棘手,你肯定不希望由于启动画面分辨率的不一致在某些设备上出现显示问题。例如,安卓设备的需求与iOS完全不同。...启动画面有助于强化应用程序的身份,使其容易被用户识别,从而提高品牌建设。 通常,某些配置和资源(字体和检查更新)会在应用准备就绪立即实施。

28010

Jetpack Compose Beta 版现已发布!

构建该工具包的目的在于与现有 Android 应用和 Jetpack 开发库集成,您可以将 Android 视图与 Compose 相结合,按照您自己的节奏应用 Compose。...旨在与 Android 视图无缝协作,便于您按照自己的节奏应用该工具包。...您可以在 Android 视图中嵌入 Compose UI,并在 Compose 中使用视图。我们在 互操作性文档 中提供了多种应用策略。...例如,借助 协程,我们可以编写更简单的异步 API,描述手势、动画或滚动。这样,我们就能更轻松地编写代码,将异步事件 (触发动画的手势) 与结构化并发提供的取消和清理相结合。...我们会提供各种指南来帮助您快速入门, 架构、无障碍功能 和 测试 相关的指导内容,以及针对 动画、列表 或 Compose 的编程思想 的深入探讨。

5.6K10

客户端骨架屏详解

一直以来,无论是Web还是iOS、Android的应用,为了提升应用的加载等待这段时间的用户感知体验,各种技术层出不穷。其中,尤以菊花图以及由它衍生各种加载动画最为突出。...所谓Skeleton Screen Loading,即表示在页面完全渲染完成之前,用户会看到一个占位的样式,用以描绘了当前页面的大致框架,加载完成后,最终骨架屏各个占位部分将被真实的数据替换。...需要隐藏效果,调用hideSkeleton,同样进行遍历,移除skeletonLayer。...= TABViewAnimationEnd; [_headView initWithData:headGame]; 示例源码链接:iOS骨架屏示例 AndroidAndroid,骨架屏的实现也后很多的第三方框架...,在等待页面加载渲染完成之后,在保留页面布局样式的前提下,通过对页面中元素进行删减或增添,对已有元素通过层叠样式进行覆盖,这样达到在不改变页面布局下,隐藏图片和文字,通过样式覆盖,使得其展示为灰色块。

3.8K10

Android Studio 新特性详解

Android 设备支持 : Arctic Fox 包含大量针对 Android 设备的功能, Wear OS 上的心率传感器,以及支持 Google TV 的新版 Android TV 模拟器等功能...构建相关 在体验 Android Studio 的新特性前,您可能需要先升级您的项目。您可以使用 AGP (Android Gradle Plugin) 升级助手来帮您完成这一任务。...在示例项目启动后,您也许会注意到,当相机处于活动状态Android Studio 会给出如何在相机虚拟场景中进行导航的提示。...我们还在探索一项功能,以便您更轻松地在 Design 界面测试动画效果,而无需在实体设备上运行项目。在前文中,您已经看到如何在 Design 界面播放动画。...点击警告按钮打开问题视图,可以看到这里提示布局的一个按钮被部分隐藏了。我们可以查看不同的预览配置,如果一个视图显示在一个屏幕上,则最好也能显示在另一个屏幕上。

2.7K20

实现边到边的体验 | 让您的软键盘动起来 (一)

Android 11 的新功能之一是可以让应用在对于屏幕上的软键盘打开和关闭的过程创建无缝过渡的动画效果,这一功能源自 Android 11 对 WindowInsets API 的大量改进。...在 Android 11 上有两个针对该功能的例子——这个功能已经被集成到 Google Search 应用和 Messages 应用中了: 两个 Android 11 软键盘动画效果的示例: Google...Search 应用 (左),Messages (右) 让我们来看看如何在您的应用添加这种用户体验。...这些边衬区包括了状态栏、导航栏以及打开的软键盘。...实现边到边: ✔️ 我们的第一步完成了。在本系列下一篇文章,我们会研究第二步: 应用对于边衬区的响应式动画。敬请关注。

26420

Android下拉阻尼效果实现原理及简单实例

用户可以下拉弹出的那个视图,例如微信的小程序列表,开发者只是将这个视图移出了父元素之外,所以不可见,我们暂且称之为隐藏头部,只有下拉到一定程度才会弹出,而主体,例如微信的联系人列表,则是可见的,布局见下图...y轴坐标 */ // private float mDownY; /** * 移动,前一个坐标 */ private float mMoveY; /** * 如果为false,会退出头部展开或隐藏动画...double mHideRatio; /** * 触发动画的分界线,初始值由mRatio计算得到 * 头部处于隐藏等于mUnfoldBoundary * 头部处于展开等于mHideBoundary...,根据阈值mBoundary判断此时头部应该弹出还是隐藏 mChangeHeadLayoutTopMargin=true;//允许执行动画 if(mHeadLayoutParams.topMargin...=ratio; } /** * 头部处于展开状态,触发隐藏动画的分界线 * @param ratio 头部布局上部分与下部分的分界线 */ public void setHideRatio(double

2.5K10

Android 3D滑动菜单完全解析,实现推拉门式的立体特效

不过那个例子的核心代码是来自于API Demos带有的Rotate3dAnimation这个类,是它帮助我们完成了所有的三维旋转操作,所有Matrix和Camera相关的代码也是封装在这个类。...*/ private float xUp; /** * 左侧布局当前是显示还是隐藏。只有完全显示或隐藏才会更改此值,滑动过程此值无效。...,边界检查,改变偏移值,可见性检查等。...当整个滚动操作完成之后,才会将真正的左侧布局显示出来,再把镜像图片隐藏掉,这样用户就可以点击左侧布局上按钮之类的东西了。...并且在按钮的点击事件里也加入了显示和隐藏左侧布局的逻辑。 好了,这样所有的编码工作就已经完成了,让我们来运行一下吧,效果如下图所示: ? 怎么样?效果非常炫丽吧!

2.9K100

用xml来编写动画

不过,过去的补间动画除了使用代码编写之外也是可以使用XML编写的,因此属性动画也提供了这一功能,即通过XML来完成和代码一样的属性动画功能。... 对应代码的AnimatorSet 那么比如说我们想要实现一个从0到100平滑过渡的动画,在XML当中就可以这样写: <animator xmlns:android="http://schemas.android.com...而如果我们想将一个视图的alpha属性从1变成0,就可以这样写: <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android...另外,我们也可以使用XML来完成复杂的组合动画操作,比如将一个视图先从屏幕外移动进屏幕,然后开始旋转360度,旋转的同时进行淡入淡出操作,就可以这样写: <set xmlns:android="http...最后XML文件是编写好了,那么我们如何在代码把文件加载进来并将动画启动呢?

82750

Android实现中轴旋转特效 Android制作别样的图片浏览器

,用于完成ListView的后续动画。...当点击了ListView的某一子项,会首先将ImageView的图片设置为被点击那一项对应的资源,然后计算出整个布局的中心点位置,用于当作中轴旋转的中心点。...在TurnToImageView监测动画完成事件,如果发现动画已播放完成,就将ListView设为不可见,ImageView设为可见,然后再创建一个Rotate3dAnimation对象,这次是从270...当点击ImageView的处理其实和上面就差不多了,先将ImageView从360度旋转到270度(这样就保证以相反的方向旋转回去),然后在TurnToListView监听动画事件,当动画完成后将ImageView...而我是希望通过这篇文章大家都能够大致了解Camera的用法,然后在下一篇文章我将带领大家使用Camera来完成更炫更酷的效果,感兴趣的朋友请继续阅读 Android 3D滑动菜单完全解析,实现推拉门式的立体特效

1.3K10

Android中轴旋转特效实现,制作别样的图片浏览器

,用于完成ListView的后续动画。...当点击了ListView的某一子项,会首先将ImageView的图片设置为被点击那一项对应的资源,然后计算出整个布局的中心点位置,用于当作中轴旋转的中心点。...在TurnToImageView监测动画完成事件,如果发现动画已播放完成,就将ListView设为不可见,ImageView设为可见,然后再创建一个Rotate3dAnimation对象,这次是从270...当点击ImageView的处理其实和上面就差不多了,先将ImageView从360度旋转到270度(这样就保证以相反的方向旋转回去),然后在TurnToListView监听动画事件,当动画完成后将ImageView...而我是希望通过这篇文章大家都能够大致了解Camera的用法,然后在下一篇文章我将带领大家使用Camera来完成更炫更酷的效果,感兴趣的朋友请继续阅读 Android 3D滑动菜单完全解析,实现推拉门式的立体特效

1.3K60

Android开发的全屏背景显示方案

引子     不管是Android还是iOS平台中,都可以看到一些应用在启动的时候会先出现一个启动画面(Splash Activity),QQ、微信等。...这个启动画往往会将ActionBar和Status Bar隐藏掉,然后用户进入一种沉浸的状态,形成更强烈的视觉冲击。...此时,还有一点遗憾,status Bar还是没有隐藏掉,因此还要调用方法将Status Bar隐藏掉: requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow...WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 方案二、在FrameLayout添加一个全屏的子视图...具体说来就是将ImageView作为FrameLayout的第一个子视图,基于FrameLayout的属性,后面添加的子视图都将叠加到第一个子视图之上,间接地实现了全图片视图背景。 1 <?

2.6K50

CollapsingToolbarLayout使用

关于CollapsingToolbarLayout的属性在官网上可以查到,这里我只介绍案例我们常用的几个属性:title标题,布局展开放大显示在图片底部,布局折叠缩小显示在Toolbar左侧。...注意,没有设置这个属性,默认使用Toolbar的标题;statusBarScrim顶部视图折叠状态下,状态栏的遮罩色。通常这样设置:app:statusBarScrim="?...,效果图中所示;contentScrim内容遮罩,上下滚动图片上面显示和隐藏的遮罩色,Toolbar位置的的背景色;通常这样设置:app:contentScrim="?...statusBarScrim的使用,其实也可以通过android:fitsSystemWindows和values-v21style样式的statusBarColor和windowDrawsSystemBarBackgrounds...,当滚动列表是,FAB按钮会随着AppBarLayout而显示和隐藏,并自带缩放动画

2.4K60

Android开发笔记(一百零一)滑出式菜单

办法肯定是有的,在《Android开发笔记(三十五)页面布局视图,我们提到margin和padding都可用来设置空隙,空隙的数值都是正数,其实空隙值也能是负数,负数表示该视图隐藏了一部分,仿佛一张纸插了部分纸面到书中...具体到LinearLayout的编码实现,对应的便是LinearLayout.LayoutParams的leftMargin参数,若该参数为正数,则视图页面拉出了一段空白;若该参数为负数,则视图页面隐藏了一段内容...;若该参数是该视图宽度的赋值,则表示视图页面完全隐藏了起来,跟visible="gone"的效果类似。...,否则做滑动缩回;最后调用Scroller的startScroll方法来完成后续的滑动动画效果。...菜单点击跳回内容页面 菜单点击的交互例子可见demo工程的ResponsiveUIActivity,主要做法步骤如下: 1、定义一个菜单点击接口OnSlidingMenuListener,其内部定义菜单点击方法

1.1K70

Android使用Circular Reveal动画让页面跳转更炫酷

Android 5.0引入了很多炫酷的动画效果,Circular Reveal便是其中一种。使用起来很简单,但效果却是意想不到的炫酷,让你的app更有逼格。...二、Circular Reveal介绍 当您显示或隐藏一组 UI 元素,揭露动画可为用户提供视觉连续性。...ViewAnimationUtils.createCircularReveal()方法让您能够为裁剪区域添加动画以揭露或隐藏视图。...参数 参数说明 view 要执行动画效果的View centerX 圆心x坐标 centerY 圆心y坐标 startRadius 开始的圆半径 endRadius 结束的圆半径 三、实现 ?...③点击回退按钮 再以上三个地方都可以调用hide()方法,实现隐藏动画。 4.监听回调 在上面配置动画参数的过程,对动画结束进行了监听回调。

96741

Android 的属性动画 --- 1(基本用法)

Android 3.0 之前,视图动画几乎承担了所有的动画效果,但是视图动画有一个很大的局限性:它改变的只是某个 View 的外观。但是响应事件位置并没有随着 View 的改变而改变。...由于这个巨大的局限性,Google 在 Android 3.0 以上添加了一个新的动画框架:属性动画。下面来一起看一下属性动画的用法: 如果你熟悉视图动画的使用方法,那么属性动画的用法一定没问题。...这是一个简单的平移动画,当按钮移动完成之后,我们再次点击这个按钮(明显它已经不在原来的位置),它仍然响应了点击事件,重新开始了动画,这证明属性动画确实是“原原本本的对 View 本身进行操作”。...属性动画当然也能在在 xml 文件声明。如何在 xml 文件声明属性动画呢?...如何在代码中使用这个属性动画呢?

1.1K20
领券