SharedElement

Android5.0 SharedElement的使用 概述SharedElement是什么,翻译是共享元素,但是光说也说不出个杰宝来,no picture say a jb,先看一下效果图,省好多话。 这个效果目前只支持API21以上,之前的可以使用一些兼容库,比如这个ActivityOptionsICS。废话少说,下面来介绍一下如何去使用和实现这个效果。简单原理俗话说眼见为实,这句话也不一定对,从上面的图可以看到,从activityA的一个图片 阅读详情

一、共享元素简单使用(Activity -> Activity)

1、在第一个Activity的控件中添加属性:
android:transitionName="0_image"

添加的方式还有:

ViewCompat.setTransitionName(imageView,"0_image");
imageView.setTransitionName("0_image");
2、在第二个Activity的控件中添加相同的属性;
android:transitionName="0_image"
3、使用startActivity()跳转:
startActivity(intent,   ActivityOptions.makeSceneTransitionAnimation(
                                            MainActivity.this,//上下文
                                            imageView,//使用共享元素的控件
                                            "0_image"//设置的transitionName
                                      ).toBundle()
                     );

二、多个控件同时添加共享元素(Activity->Activity)

场景:点击RecyclerView中任意一个图片可以放大,图片放大之后可以左右切换,返回之后回到对应图片上。
1、在第一个Activity的Adapter的ImageView中添加:
holder.getImageView().setTransitionName(position + "_image");
//并记录下:
Pair[] sharedElements = new Pair[mData.size()];
sharedElements[position] =Pair.create( holder.getImageView(),position+"_image");
2、在第二个Activity中添加:
 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
                    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
                    @Override
                    public void onPageSelected(int i) {
                        viewPager.setTransitionName(i+"_image");
                    }
                });
3、使用startActivity()跳转:
startActivity(
         intent,
         ActivityOptions.makeSceneTransitionAnimation(
            context,
            sharedElements
         ).toBundle()
);

未完待续…

Android 共享元素转场动画详解 共享元素转场动画是Android 5.0引入的页面过渡效果,通过在两个页面间创建视觉关联元素的平滑动画来提升用户体验。实现步骤包括:1)在主题中启用窗口过渡;2)为共享视图设置相同transitionName;3)使用ActivityOptionsCompat启动动画。支持单个或多个元素共享,并可自定义过渡效果。在Fragment中使用需特殊处理,还支持延迟过渡和返回动画优化。该技术能显著增强应用交互流畅性。 阅读详情

相关推荐

Android-ShareElement基于Android系统的动画总结

Share Element 基于Android 系统的动画总结

Android 共享元素简单使用

1:基础 ActivityA 跳转ActivityB只需要四步: 第一步,设置A中view的 <ImageView android:layout_width="200dp" android:layout_height="200dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:

赵航的博客 2555

详解Android(共享元素)转场动画开发实践

最近零碎时间一直在研究OpenGL,所以没怎么进行分享,以后可能大部分时间会学习系统底层\NDK\VR\AR等领域,话不多少,今天来分享个小的动画效果. 效果如下 基本知识 其实Android的转场动画由来已久,比如平常开发安卓的时候界面切换 都是右进右出,这样的效果,就是早期的转场动画,在5.0之后安卓官方支持了共享元素的效果,那么问题来了,5.0以后该怎么适配? 准备步骤 定义两个activity,界面跳转是从A到B. ActivityA定义一个控件View,在跳转时传入到Pair里面,详细代码如下: switch (v.getId()) { case R.id.tv_

Android:安卓学习笔记之共享元素的简单理解和使用

Andriod5.0及之后,开始支持共享元素动画,两个Activity或者fragment可以共享某些控件,例如ActivityA跳转到ActivityB的时候,A的某个控件能自动移动到B的相应控件的位置,产生动画。当然了,你也可以为任何非共享的View设置Transition过渡动画,只不过调用的API变了在对应的Fragment中调用。记住,返回Transition需要在跳转Fragment中调用相应的方法,要不然你得不到你想要的效果的。...

JMW1407的博客 3758

手把手教你学Simulink--基于火电发电系统的场景实例:燃煤发电机组的锅炉-汽轮机协调控制仿真

本文介绍了使用Simulink构建燃煤发电机组锅炉-汽轮机协调控制系统的仿真方法。系统包含锅炉子系统、汽轮机子系统和协调控制器三大模块,通过传递函数建模和PID控制策略实现协调控制。详细说明了从模型创建、子系统设置到控制器设计的完整流程,包括燃料供给、汽轮机模型和数据处理等关键环节。最后通过性能评估验证系统响应速度、参数稳定性和效率等指标。该仿真方法为火电系统控制策略设计和优化提供了有效工具。

MHD0815的博客 1153

基于STM32与FPGA Cyclone IV的FSMC高速数据通信实战解析

本文详细解析了基于STM32的FSMC接口与FPGA Cyclone IV实现高速并行数据通信的实战方案。通过将FPGA模拟为SRAM设备,构建了MCU与FPGA之间的高速数据通道,并深入探讨了硬件连接、STM32软件配置、FPGA逻辑设计及性能优化等关键步骤,为图像处理、高速采集等需要大数据量交换的嵌入式应用提供了稳定高效的通信解决方案。

swift5iosmith的博客 294

Android动画之共享元素动画简单实践

这个示例展示了如何在两个Activity之间实现共享元素过渡动画。关键步骤包括在布局文件中设置属性,在代码中通过创建动画选项,并启动目标Activity。如果需要更精细的动画效果,还可以通过自定义过渡动画文件来配置。共享元素动画可以显著提升用户体验,尤其是当你需要在界面间平滑过渡具体元素(如图片、文本)时,可以提供更自然和清晰的视觉反馈。欢迎关注我的公众号AntDream查看更多精彩文章!

AntDream的程序世界 1653

Python 爬虫实战:从零搭建第一个爬虫程序(附完整代码)

本文介绍了Python网络爬虫的入门实战,以豆瓣Top250电影榜单为例,详细讲解爬虫开发全流程。内容包括爬虫基础原理、环境搭建、请求发送与响应处理、数据解析与保存等核心环节,并提供了可直接运行的完整代码示例。文章还分析了常见问题解决方案,并强调了爬虫开发的合规注意事项。通过本教程,读者可快速掌握Python爬虫的基本思路和实操技巧,为后续深入学习BeautifulSoup、XPath等进阶技术打下基础。

2503_91057718的博客 2316

Android共享元素

Android共享元素 本篇已Kotlin为主要语言 只能在Android5.0以上使用 共享元素就是在两个页面之间,寻找一个共同拥有的元素,让进行页面切换的时候,元素有一个过度效果,下面我就以ActivityA跳转到ActivityB来进行演示 效果 ActivityA class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.

A786ex的博客 1217

把 ABAP 接到外部世界的几条路, 从 Web Service 到 RFC、BAPI 与 IDoc 的完整理解

摘要: ABAP 的连接能力是其长期成为企业核心的关键,不仅支持通用协议(HTTP、SOAP、XML),还保留了 SAP 特有的技术(RFC、BAPI、IDoc)。Web Service 是跨系统通信的主轴,依赖 SOAP/WSDL 实现契约化协作,而 Enterprise Service 更强调业务语义的复用与治理。经典技术如 RFC 和 BAPI 因高效稳定仍广泛使用,尤其适合紧耦合场景。ABAP 通过分层工具箱(如代理生成、服务注册)实现灵活集成,平衡新旧技术,满足多样化的企业连接需求。 (字数:15

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 138

操作系统|知识梳理|复习(下)

操作系统复习

知识库搭建ing 1784

SharedElement 实现界面切换时的平滑过渡

前言   在 App 中,界面之间的切换是常有的。我们有时候还会碰到这样的情况,在切换界面时,切换前的界面和切换后的界面中有相同的组件。   比如说,切换前的界面是一个列表界面,列表的每一项都含有标题、内容、图片等信息,当我们点击列表中的一项时,会调转至详情界面,详情界面中也含有与列表项相同的标题、内容、图片等信息。   界面切换的逻辑很容易实现。但是我们想,是否有这样的操作,让列表项中的组...

reggie1996的博客 1117

SAR图像降噪:基于小波变换和双边滤波器的Matlab实现

小波变换和双边滤波器是常用的图像降噪技术,它们可以在保持图像细节的同时有效抑制噪声。本文介绍了基于小波变换和双边滤波器的SAR图像降噪方法,并提供了相应的Matlab源代码。通过对比原始图像和降噪后的图像,可以观察到噪声得到一定程度的抑制,同时保留了图像的细节信息。本文将介绍一种基于小波变换和双边滤波器的方法,用于SAR图像的降噪,并提供相应的Matlab源代码。希望这篇文章能够帮助您理解基于小波变换和双边滤波器的SAR图像降噪方法,并为您提供实现该方法的Matlab源代码。对图像的高频部分进行降噪处理。

ScriptCharm的博客 839

react-native-shared-element 核心 API 详解:从 SharedElement 到 SharedElementTransition

react-native-shared-element 是一个为 React Native 应用提供原生共享元素过渡效果的强大库,能够帮助开发者实现流畅、精美的界面切换动画。本文将详细介绍其核心 API,包括 SharedElement、SharedElementTransition 等关键组件,以及它们的使用方法和实际应用场景。 ## 一、SharedElement:定义可过渡的共享元素 S

gitblog_00245的博客 994

Microsemi Libero系列教程(全网首发)

关于Libero IDE和Libero SoC Libero分为Libero IDE和Libero SoC,Libero IDE最新版本是v9.2 SP3(2016年4月4日)已经不再更新维护了,而Libero SoC是Libero IDE的升级版,官方推荐的开发工具,文中的Libero指的是Libero SoC。 Libero SoC Libero® SoC是Microsemi(美高森美)官方...

whik1194的博客 2万+

华为OD机考双机位C卷 - 文件存储系统的排序(Java & Python & JS & GO & C++ & C)

华为OD机考双机位C卷 - 文件存储系统的排序, 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 779

Android Glide照片宫格RecyclerView,点击SharedElement共享元素动画查看大图,Kotlin(1)

文章浏览阅读81次。Android RecyclerView的StaggeredGridLayoutManager实现交错排列的子元素分组先看实现的结果如图:设计背景:现在的产品对设计的需求越来越多样化,如附录文章2是典型的联系人分组RecyclerView,子元素排列到一个相同的组,但是有些时候,UI要求把这些元素不是垂直方向的,而是像本文开头的图中所示样式排列,这就需要用StaggeredGridLayoutMa。在处理大图的浏览查看动作过程中,往往还有其他额外的事情需要处理,典型的以微信。

Zhang Phil 526

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

使用 SharedElement 动画切换 Fragment 页面

http://www.wangchenlong.org/2016/03/22/1603/232-fragment-shared-element/ http://www.wangchenlong.org/2016/03/22/1603/232-fragment-shared-element/ http://www.wangchenlong.org/2016/03/22/1603/232-

u011904605的博客 2155

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android SharedElement详解

转至:http://blog.youkuaiyun.com/mr_wrong1/article/details/49669275 概述 SharedElement是什么,翻译是共享元素,但是光说也说不出个杰宝来,no picture say a jb,先看一下效果图,省好多话。 这个效果目前只支持API21以上,之前的可以使用一些兼容库,比如这个ActivityOption

h183288132的专栏 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android SharedElement recyclerView 2 viewPager

实现共享元素,从RecyclerView的 item到ViewPager的大图中。 之前,先弄了 从RecyclerView到 单个 ImageView里面可以正常切换。但是不能滑动查看,不是很好。 于是准备弄一个这个玩意。坑超级多。 致谢:这位大佬的博客帮助了我 这是 ViewPager所在的 activity ,是现实大图片的 public class PagerActivity exte...

Cat的专栏 753

android 共享动画sharedElement经验

核心问题:shareElement共享动画触发时机非常靠前,并且非常短。如果第二个activity开启比较慢(比如app比较大,或者需要异步加载什么的),这会导致动画在第二个activity还没加载好时,便已经执行。直白的说,就是动画出不来。为了保证在动画执行时,第二个activity已经加载好。通常有以下方案。 1. activity实现版 在第二个activity的oncreate()中调...

beiyang99的专栏 1026

实战教程:用 react-motion-layout 5步构建社交信息流应用,实现丝滑共享元素转场

**react-motion-layout** 是一个专为 React 打造的共享元素转场动画库,只需几行声明式代码,就能让图片、文字在列表页与详情页之间"流动"过渡,轻松做出社交信息流应用里那种丝滑的 hero 动画效果。本文将带你用 5 步完成一个可点击跳转、带平滑转场的社交 Feed 页面。 ## 为什么需要 react-motion-layout? framer-motion 这类库擅

gitblog_00346的博客 455

react-motion-layout 避坑指南:animationKey 不生效等8个常见错误与解决方案清单

react-motion-layout 是一个开源的 React 共享元素转场动画库(shared element transitions),能把两个路由页面中的 hero 大图、标题在切换视图时平滑地"飞行"到新的位置与尺寸。本文梳理了实际使用中最容易踩的 8 个坑——包括 animationKey 不生效、动画静默失败、滚动错位等——并逐一给出解决方案,帮你快速上手、少走弯路。 ## 🎬

gitblog_00975的博客 203

react-motion-layout 与 react-router-dom 无缝集成:RouterLink 打造 Instagram 式 Hero 转场

react-motion-layout 是一个专为 React 打造的共享元素动画库,它能与 react-router-dom 无缝集成,让你用一行 RouterLink 就能实现 Instagram 式的 Hero 转场动画——列表页的图片点击后,平滑"飞入"详情页,带来沉浸式视觉体验。 ## 为什么需要跨路由的 Hero 转场? 大多数动画库(如 framer-motion)擅长处理组件的

gitblog_00896的博客 363

React 做页面过渡动画为什么这么难?共享元素动画库 react-motion-layout 完整入门指南

在 React 中实现**页面过渡动画**一直是前端开发的痛点,尤其是列表页到详情页之间共享同一张图片或文字时,如何让它们"平滑飞过去"。[react-motion-layout](https://link.gitcode.com/i/702508f4d54e2bacf9ec021d07af19fa) 正是为此而生的**共享元素动画库**:它通过声明式的 `SharedElement` 组件把两个

gitblog_00539的博客 369

react-motion-layout vs framer-motion:如何为你的 React 项目选择 Hero 动画方案?终极对比指南

**react-motion-layout** 是一个专注于 **Hero 动画**(共享元素转场)的轻量级 React 动画库——当你从列表页点击商品卡片,图片会平滑地"飞"到详情页并放大,这种沉浸式的页面过渡正是它的拿手好戏。而 **framer-motion** 则是 React 生态中最流行的通用动画库。本文面向新手,用一张对比表 + 场景清单帮你 3 分钟做出正确选择。 ✅ 读完你将了

gitblog_00280的博客 442
上一篇: IoC的简单使用
下一篇: Android启动页图片适配
azhoufeng
博客等级 码龄10年 10粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值