返回顶部
首页 > 资讯 > 移动开发 >Android用动画显示或隐藏视图
  • 647
分享到

Android用动画显示或隐藏视图

2024-04-02 19:04:59 647人浏览 安东尼
摘要

目录一、需求背景二、创建淡入淡出动画1.创建布局文件2.设置淡入淡出动画3.代码实现总结一、需求背景 有时候,我们需要在屏幕上显示新的信息,同时移除旧的信息,一般情况下我们通过VIS

一、需求背景

有时候,我们需要在屏幕上显示新的信息,同时移除旧的信息,一般情况下我们通过VISIBILITY或者GoNE来对需要显示或者隐藏的视图进行设置,这样做的坏处是显示或者隐藏的动作变化非常突兀,而且有时候变化很快导致用户无法注意到这些变化。这时就可以使用动画显示或者隐藏视图,通常情况下使用圆形揭露动画,淡入淡出动画或者卡片反转动画。

二、创建淡入淡出动画

淡入淡出动画会逐渐淡出一个View或者ViewGroup,同时淡入另一个。此动画适合在应用中切换内容或者视图的情况。这里使用ViewPropertyAnimator来创建这种动画。

下面的动画是从进度指示器切换到某些内容文字的淡入淡出示例。

1.创建布局文件

<Androidx.constraintlayout.widget.ConstraintLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content">

      <!--淡入淡出动画-->
      <Button
              android:id="@+id/btn_use_fade_in_fade_out_animator"
              android:layout_width="0dp"
              android:layout_height="wrap_content"
              android:layout_marginHorizontal="10dp"
              android:onClick="doClick"
              android:text="@string/use_fade_in_fade_out_animator"
              app:layout_constraintLeft_toLeftOf="parent"
              app:layout_constraintRight_toRightOf="parent"
              app:layout_constraintTop_toTopOf="parent" />

      <androidx.constraintlayout.widget.ConstraintLayout
              android:layout_width="0dp"
              android:layout_height="0dp"
              app:layout_constraintDimensionRatio="w,1:1"
              app:layout_constraintLeft_toLeftOf="parent"
              app:layout_constraintRight_toRightOf="parent"
              app:layout_constraintTop_toBottomOf="@id/btn_use_fade_in_fade_out_animator">

          <TextView
                  android:id="@+id/tv_content"
                  android:layout_width="0dp"
                  android:layout_height="0dp"
                  android:padding="16dp"
                  android:text="@string/test_use_fade_in_fade_out_animator_text"
                  android:visibility="gone"
                  app:layout_constraintBottom_toBottomOf="parent"
                  app:layout_constraintLeft_toLeftOf="parent"
                  app:layout_constraintRight_toRightOf="parent"
                  app:layout_constraintTop_toTopOf="parent" />

          <!--进度条-->
          <ProgressBar
                  android:id="@+id/loading_progress"
                  style="?android:progressBarStyleLarge"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  app:layout_constraintBottom_toBottomOf="parent"
                  app:layout_constraintLeft_toLeftOf="parent"
                  app:layout_constraintRight_toRightOf="parent"
                  app:layout_constraintTop_toTopOf="parent" />

      </androidx.constraintlayout.widget.ConstraintLayout>


  </androidx.constraintlayout.widget.ConstraintLayout>

2.设置淡入淡出动画

对于需要淡入的动画,首先将其可见性设置为GONE,这一点在布局文件中已经设置。在需要显示淡入的View的时候,首先将其alpha设置为0,这样可以保证View已经显示但是不可见。分别设置淡入的动画和淡出的动画,淡入的动画将其所在的View的alpha属性从0变化到1,淡出的动画将其所在的View的alpha属性从1变化到0对于淡出动画,在动画执行完成后,将其的可见性设置为GONE,从而加快处理速度。

3.代码实现

//开始执行淡入淡出动画
    private fun crossFade() {
        //设置需要淡入的View的alpha为0,可见性为VISIBLE
        mBinding.tvContent.apply {
            alpha = 0f
            visibility = View.VISIBLE
            //通过动画将透明度变为1.0
            animate()
                .alpha(1.0f)
                .setDuration(mShortAnimationDuration.toLong())
                .start()
        }

        //设置需要淡出的动画,将其alpha从1变为0,并通过监听动画执行事件,在动画结束后将View的可见性设置为GONE
        mBinding.loadingProgress.animate()
            .alpha(0f)
            .setDuration(mShortAnimationDuration.toLong())
            .setListener(object : AnimatorListenerAdapter() {
                override fun onAnimationEnd(animation: Animator?) {
                    super.onAnimationEnd(animation)
                    mBinding.loadingProgress.visibility = View.GONE
                }
            })
            .start()
    }

总结

到此这篇关于Android用动画显示或隐藏视图的文章就介绍到这了,更多相关Android动画内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Android用动画显示或隐藏视图

本文链接: https://lsjlt.com/news/162708.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android用动画显示或隐藏视图
    目录一、需求背景二、创建淡入淡出动画1.创建布局文件2.设置淡入淡出动画3.代码实现总结一、需求背景 有时候,我们需要在屏幕上显示新的信息,同时移除旧的信息,一般情况下我们通过VIS...
    99+
    2024-04-02
  • Android怎么用动画显示或隐藏视图
    这篇文章主要介绍“Android怎么用动画显示或隐藏视图”,在日常操作中,相信很多人在Android怎么用动画显示或隐藏视图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android怎么用动画显示或隐藏视图...
    99+
    2023-06-26
  • Android怎么使用圆形揭露动画巧妙地隐藏或显示View
    这篇文章主要介绍“Android怎么使用圆形揭露动画巧妙地隐藏或显示View”,在日常操作中,相信很多人在Android怎么使用圆形揭露动画巧妙地隐藏或显示View问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-30
  • Android如何使用圆形揭露动画巧妙地隐藏或显示View详解
    目录1.引言2.圆形揭露动画简介3.使用圆形揭露动画隐藏或显示View3.1 简易布局3.2 使用圆形揭露动画隐藏View3.3 使用圆形揭露动画显示View4.总结1.引言 在开发...
    99+
    2024-04-02
  • jQuery实现广告显示和隐藏动画
    我们经常会看到几秒后出现了广告,显示了几秒后广告就消失了,下面就用JQuery框架来实现这个功能。 代码如下: <!DOCTYPE html> <html>...
    99+
    2024-04-02
  • JQuery实现隐藏和显示动画效果
    本文为大家分享了JQuery实现隐藏和显示动画效果的具体代码,供大家参考,具体内容如下 隐藏和显示 语法 $(selector).fadeIn([speed,callbac...
    99+
    2024-04-02
  • css设置显示隐藏动画的方法
    小编给大家分享一下css设置显示隐藏动画的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css设置显示隐藏动画的方法:首先创建一个HTML示例文件;然后创建一...
    99+
    2023-06-14
  • Win10怎么显示或隐藏桌面通用图标?
    刚装好的Win10系统,桌面上仅只有一个回收站图标,没有计算机、控制面板、网络等图标,我们可以按照以下方法快速找回这些图标。 1、点击开始菜单-设置 2、在弹出的窗口中选择个性化,进入个性化设置界面 3、在个性化设置...
    99+
    2023-06-17
    win10桌面图标 win10显示隐藏的图标 win10桌面图标不见了 win10 图标 桌面 通用 Win10
  • Electron应用显示隐藏时展示动画效果实例
    目录最终效果实现思路实现过程总结最终效果 实现思路 窗口设置透明 建立系统托盘 获取托盘坐标,实现应用在托盘上方出现 CSS 里面写上加载和退出的动画 添加加载动画的事件,即给元素...
    99+
    2024-04-02
  • uniapp动态显示隐藏背景图片
    随着移动互联网和移动应用的迅速发展,越来越多的开发者和企业开始采用多平台开发的方式,以减少开发成本和提高用户体验。作为一款跨平台开发框架,UniApp提供了一系列丰富的API,可以快速搭建起一个多平台应用。在这篇文章中,我们将介绍如何使用U...
    99+
    2023-05-22
  • win7任务栏图标设置(显示或者隐藏)
    Windows 7 是由微软公司(Microsoft)开发的操作系统,核心版本号为Windows NT 6.1。Windows 7 可供家庭及商业工作环境、笔记本电脑、平板电脑、多媒体中心等使用。 Windows 7做...
    99+
    2023-05-31
    win7 任务栏图标 任务 图标
  • Android实现动态显示或隐藏密码输入框的内容
    本文实例展示了Android实现动态显示或隐藏密码输入框内容的方法,分享给大家供大家参考之用。具体方法如下: 该功能可通过设置EditText的setTransformatio...
    99+
    2022-06-06
    隐藏密码 输入 动态 输入框 Android
  • jQuery怎么实现广告显示和隐藏动画
    小编给大家分享一下jQuery怎么实现广告显示和隐藏动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:<!DOCTYPE html>...
    99+
    2023-06-20
  • android实现动态显示隐藏进度条
    本文实例为大家分享了android实现动态显示隐藏进度条的具体代码,供大家参考,具体内容如下 调用 ProgressUtil.startProgress(this, new P...
    99+
    2024-04-02
  • Electron怎么实现应用显示隐藏时展示动画效果
    今天小编给大家分享一下Electron怎么实现应用显示隐藏时展示动画效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。最终效...
    99+
    2023-06-30
  • 用RadioButten或CheckBox实现div的显示与隐藏
    当选择“女”时,显示“美女、才女”;当选择“男”时,隐藏 aspx 页面内容: 复制代码 代码如下: <head runat="server"> <title>...
    99+
    2022-11-15
    RadioButten CheckBox div显示与隐藏
  • element vue动态显示隐藏列
    在使用 Vue.js 和 Element UI 构建页面时,经常需要使用表格展示数据。有时候会需要动态显示或隐藏某些列,使用户能够根据自己的需求定制所需的信息。Element UI 提供了方便易用且功能强大的表格组件,本文将着重介绍如何在 ...
    99+
    2023-05-24
  • Win8如何隐藏或显示本地磁盘驱动器号
      在使用Win8系统过程中,不同用户有着不同的需求,即使一些需求很小众但也能实现。就有一些用户希望隐藏本地磁盘驱动器号,这该如何操作呢   操作方法   1.打开文件夹选项。(《Win8如何打开文件资源管...
    99+
    2022-06-04
    磁盘驱动器
  • css如何实现元素显示与隐藏动画效果
    这篇文章主要讲解了“css如何实现元素显示与隐藏动画效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css如何实现元素显示与隐藏动画效果”吧! ...
    99+
    2024-04-02
  • Android键盘显示与隐藏代码
    Java代码 代码如下:  InputMethodManager imm = (InputMethodManager)getSystemService(SendActivit...
    99+
    2022-06-06
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作