Android ViewFlipper源码分析
2023-09-14 09:06:43 时间
相信各位android程序猿对ViewFlipper这个组件并不陌生,它的的主要作用就是用来切换View的时候提供页面间的动画效果,这点从其父类的功能以及其父类的名字可以看出来:
它的父类的名字为ViewAnimator,其直接父类为ViewGroup,包含了两个动画的引用:
Animation mInAnimation;
Animation mOutAnimation;
mInAnimation:这个Animation是用于将上一页或者下一页的View切换进来时的动画
moutAnimation:这个Animation是用于将当前页面的View退出时的动画
if(switchView){
//让当前显示的View执行退出动画
currentView.startAnimation(mOutAnimation);
//让即将要显示的View执行进入动画
nextView_or_preView.startAnimatioin(mInAnimation);
}
上面的伪代码可以很清晰的说明了ViewAnimator或者ViewFlipper的页面切换动画的实现原理,当然还不是很完善,随着博文的进行会逐一完善上面的伪代码。
因为ViewAnimator继承自ViewGroup,所以可以调用ViewGroup的addView几个相关的重载方法进行View的添加,这些添加进来的各个View按照添加的顺序添加到了ViewGroup的mChildren数组里面,ViewFlipper或者ViewAnimator切换View的时候就是切换的里面的这些被添
相关文章
- 111、Android 高仿 频道管理---(可以拖动的GridView)附源码DEMO (转载)
- 83、android的消息处理机制(图+源码分析)——Looper,Handler,Message
- 《Android源码设计模式》--状态模式--责任链模式--解释器模式--命令模式--观察者模式--备忘录模式--迭代器模式
- android 轻松实现在线即时聊天【图片、语音、表情、文字】等!含源码!
- 83、android的消息处理机制(图+源码分析)——Looper,Handler,Message
- OpenGL—Android 开机动画源码分析二
- Android uevent进程源码分析
- Android App签名(证书)校验过程源码分析
- Android源码 在framework中加入一张图片资源,获取不到资源文件
- 深度理解Android InstantRun原理以及源码分析
- android 8.0 Activity源码分析(1) —— Activity启动流程
- 【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ① ( Maven 仓库上传源码上传源码设置 | 自定义源码打包任务 | 自定义文档打包任务 )
- 【Android 逆向】ART 脱壳 ( InMemoryDexClassLoader 脱壳 | 加固厂商在 ART 下使用的两种类加载器 | InMemoryDexClassLoader 源码 )
- 【Android 插件化】VirtualApp 源码分析 ( 启动应用源码分析 | HomePresenterImpl 启动应用方法 | VirtualCore 启动插件应用最终方法 )
- 【Android 插件化】VirtualApp 源码分析 ( 安装应用源码分析 | HomePresenterImpl 添加应用 | AppRepository.addVirtualApp )
- 【Android 插件化】Hook 插件化框架 ( 从 Hook 应用角度分析 Activity 启动流程 二 | AMS 进程相关源码 | 主进程相关源码 )
- 【Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )
- 【Android 安全】DEX 加密 ( Application 替换 | Android 应用启动原理 | Instrumentation 源码分析 )
- 【Android 电量优化】JobScheduler 源码分析 ( JobServiceContext 源码分析 | 闭环操作总结 | 用户提交任务 | 广播接收者接受相关广播触发任务执行 )★
- 【Android 电量优化】JobScheduler 相关源码分析 ( ConnectivityController 底层源码分析 | 构造函数 | 追踪任务更新 | 注册接收者监听连接变化 )
- 【Android 性能优化】应用启动优化 ( 启动白屏问题 | 应用启动时间测量 | 冷启动 | 热启动 | 应用启动时间计算源码分析 )
- Android (AMS)ActivityManagerService源码分析
- 【Android进阶篇】最新Android源码精编解析,有效阅读源码的法门
- Android 10.0 pms中关于启动app时获取app的ActivityInfo信息相关源码分析
- WebRTC Android源码编译详解
- Android内核开发:在源码树中添加新的app应用
- Android内核开发:从源码树中删除出厂的app应用
- android源码查找测试demo
- Android HIDL源码分析