首页 > 其他分享 >Android 快速实现View的展开和收缩效果

Android 快速实现View的展开和收缩效果

时间:2023-12-25 13:45:40浏览次数:35  
标签:效果 收缩 tvOpen isShow Android tvContent View

原文: Android 快速实现View的展开和收缩效果 - Stars-One的杂货小窝

看到一篇文章用到了一个布局的属性animateLayoutChanges就能实现展开和收缩效果,特意记录一下

效果

代码

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".TestMainActivity">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:paddingVertical="16dp"
        app:layout_constraintTop_toTopOf="parent"
+        android:animateLayoutChanges="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            android:id="@+id/tvOpen"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="点击展开"/>

        <TextView
            app:layout_constraintTop_toBottomOf="@id/tvOpen"
            app:layout_constraintStart_toStartOf="parent"
            android:visibility="gone"
            android:id="@+id/tvContent"
            android:layout_width="wrap_content"
            android:background="#74c375"
            android:layout_height="200dp"
            android:text="下面的数据"/>
    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

之后设置View的显示或隐藏都会触发展开或收缩的动画效果

val tvOpen = findViewById<TextView>(R.id.tvOpen)
val tvContent = findViewById<TextView>(R.id.tvContent)
var isShow = false

tvOpen.setOnClickListener {
	if (isShow.not()) {
		tvContent.visibility = View.VISIBLE
	} else {
		tvContent.visibility = View.GONE
	}
	isShow = isShow.not()
}

标签:效果,收缩,tvOpen,isShow,Android,tvContent,View
From: https://www.cnblogs.com/stars-one/p/17925928.html

相关文章

  • EKP qhky 流程启接口addReview 支持明细表地址本传递多值
     问题描述: 流程启动接口(addReview),给第一行多人员地址本字段 传多个部门,后台代码解析不成功     /** * *20230703定制处理附件列表问题sjx * ***/ for(inti=0;i<attForms.size();i++){ S......
  • Cocos Creator 2.x之ScrollView分层渲染
    一,场景设计1,ScrollViewPrefab:挂载ScrollViewPrefab脚本。2,ScrollViewPrefabItem:挂载ScrollViewPrefabItem脚本。是内容item。二,传统做法,加入30个item三,分层处理,加入30个item1,代码:CommomScrollViewCDconst{ccclass,property}=cc._decorator;//绘画层classDraw{......
  • 在Flutter中使用PhotoViewGallery指南
    介绍Flutter中的PhotoViewGallery是一个功能强大的插件,用于在应用中展示可缩放的图片。无论是构建图像浏览器、相册应用,还是需要在应用中查看大图的场景,PhotoViewGallery都是一个不错的选择。添加依赖首先,需要在pubspec.yaml文件中添加photo_view插件的依赖。打开该文件,然后在depen......
  • 关于Android studio新版本和NEW UI显示返回按钮的设置
    1.新版Androidstudio问题因为在新版本的AndroidStudio中,默认情况下是没有直接的选项来显示返回上一步按钮在状态栏上的,可以通过以下方法来实现返回上一步的功能:在AndroidStudio的顶部菜单栏中,选择"View"。在"View"菜单中,选择"Appearance"。在"Appearance"子菜单中,勾选"Toolbar"......
  • obsidian dataview写年报:按标签分类汇总
    原文地址:https://www.cnblogs.com/liqinglucky/p/ob-dataview.html使用场景上次我们讲过用dataview写周报obsidiandataview写周报:统计一周内的文件-liqinglucky-博客园(cnblogs.com)。现在考虑另一个场景,年底要写年报,将一年的工作汇总。但通常不是像周报那样只是简单的罗......
  • Android平台RTMP推送|轻量级RTSP服务能力封装代码实现
    好多开发者问我们,有没有针对Android平台RTMP直播推送、轻量级RTSP服务模块的进一步封装,可以更便捷的调用大牛直播SDK接口。为此,我们分享下我们针对Android平台SmartPublisher做的二次封装代码:packagecom.daniulive.smartpublisher;importandroid.util.Log;importjava.nio.By......
  • Android自定义View面试官最爱问的12个高级问题
    引言在Android开发领域,自定义View是一个考察开发者深度功底和创造力的重要方面。本文将从Android面试官的角度出发,深入探讨自定义View面试中常见的12个高级疑难问题,帮助大家更好地准备面试,展示专业技能。自定义View的基础知识问题:请解释自定义View的基本概念及其在Android开发中的......
  • 封神级 Android 音视频开发学习路线
    前言在日常生活中,视频类应用占据了我们越来越多的时间,各大公司也纷纷杀入这个战场,不管是抖音、快手等短视频类型,虎牙、斗鱼等直播类型,腾讯视频、爱奇艺、优酷等长视频类型,还是Vue、美拍等视频编辑美颜类型,总有一款适合你。随着5G普及以及网络资费的下降,音视频的前景是非常广阔的。......
  • 搞Android开发只要记住这几点,不要学得太杂太乱!
    前言作为Android程序员,选择学习什么样的技术?什么技术该不该学?去招聘网站上搜一搜、看看岗位要求就十分清楚了,自己具备的技术和能力,直接影响到你工作选择范围和能不能面试成功。如果想进大厂,那就需要在Android核心技术上面好好准备了,具体可以分下面几个模块来学习。学习模块1、基础......
  • (原创)安卓在fragment里使用自定义ListView
    原创声明:本文所有图片和代码皆由本人制作和编写。目录前言目标5步走第零:准备好你的ListItem布局第一:在布局文件添加ListView组件第二:创建适配器实现构造器(在这里提供数据)实现getView(在这里绑定布局)第三:把第一步的xml文件里的ListView和第二步的适配器联系起来第四:为每个小条目......