Android :为你的启动页面SplashActivity 添加动画的几种方法
来源:互联网 发布:时尚的网络用语 编辑:程序博客网 时间:2024/06/04 23:36
启动页一般都会放一张默认的图片,有登陆的时候,登录成功进入主界面,不需要登录的时候,一般2-3s进入主页面,在等待的期间为了平滑的过度可以加入动画,体验会更好一点。
关于动画,必看的博客:
Android属性动画完全解析(上),初识属性动画的基本用法
总共三篇,细细的读一遍,做一遍,属性动画就算入门了。
下图就展示了启动页SplashActivity 动画Gif展示:
1,Drawable 动画测试
假设这张图片是放在drawable目录下的,
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"alpha",0.6f,1.0f);
imageView.setImageResource(R.drawable.ic_splash); //动画时长 objectAnimator.setDuration(2500); objectAnimator.start();
这样一张图片的不透明度从0.6-1.0,就像上图展示的,但是这种方式不够好,每次都是硬塞进去一个Drawable,我们可以通过缓存框架加载。
2,Drawable GLIDE 加载测试
添加依赖:
compile 'com.github.bumptech.glide:glide:3.7.0'注册网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
Glide.with(this).load(R.drawable.ic_splash).diskCacheStrategy(DiskCacheStrategy.ALL).crossFade(2500).into(imageView);
这样的效果和上面一样,但是!动画只会加载一次,因为缓存的原因,解决方案有两个:
(1),不缓存
Glide.with(this).load(R.drawable.ic_splash).skipMemoryCache(true).crossFade(2500).into(imageView);(2),不用Glide 加载动画
Glide.with(this).load(R.drawable.ic_splash).diskCacheStrategy(DiskCacheStrategy.ALL). into(imageView); objectAnimator.setDuration(2500); objectAnimator.start();
这里推荐第二个方案,每次都不缓存,没啥意义。
3,本地图片动画测试
上面都是加载Drawable 图片,但是实际场景还有加载本地图片,比如提前把广告图下载到本地,这个时候上面的方法就不行了。增加访问权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>申请权限:
/** * 6.0 以上申请权限 */ if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},0); }申请权限可参考 Android 6.0 权限机制详解
代码:
//这是我本地的一张图片 imagePath = Environment.getExternalStorageDirectory()+"/ic_splash.png";
imageView.setImageBitmap(BitmapFactory.decodeFile(imagePath)); objectAnimator.setDuration(2500); objectAnimator.start();
但是这种方案不推荐使用
4,本地图片GLIDE动画测试
使用Glide加载:
Glide.with(this).load(imagePath).diskCacheStrategy(DiskCacheStrategy.ALL).into(imageView); objectAnimator.setDuration(2500); objectAnimator.start();
这种方式最常用。
阅读全文
0 0
- Android :为你的启动页面SplashActivity 添加动画的几种方法
- Android的启动界面-----SplashActivity
- 从带有启动动画的欢迎页面SplashActivity跳转到MainActivity
- Android启动界面之SplashActivity的设计
- Android SplashActivity启动时黑屏的问题
- android 关于app启动时SplashActivity界面加了延时动画用户点击back键出现闪屏做的修复
- Android 防止启动页面(SplashActivity)被多次启动(笔记)
- 为你的应用程序添加启动画面
- android 启动apk的几种方法
- Android启动线程的几种方法
- android启动界面(SplashActivity)
- 为记录添加顺序标识的几种方法。
- Qt中为按钮添加图片的几种方法
- javascript为对象添加自定义方法的几种方式
- Android 使用Circular Reveal为你的应用添加揭露动画效果
- android的几种动画
- iOS为你的数字添加动画:AMAnimatedNumber控件
- 使用animate.css为你的网页添加动画
- 约瑟夫环 java循环链表实现
- Nmap命令的29个实用范例
- Spring中属性注入操作
- 两数之和
- 动态规划算法求解硬币找零问题改进与优化(Java)
- Android :为你的启动页面SplashActivity 添加动画的几种方法
- Excel导出(ssh)
- CreateProcess启动游戏注入DLL
- HashMap和Map的道道
- sql:A表的D字段就是B表的E字段,D字段的值覆盖到E字段,只覆盖E字段为空的
- Python正则化注意事项
- tensorflow笔记:多层CNN代码分析
- String、StringBuilder、StringBuffer
- CXF入门Exception in thread "main" java.lang.NoSuchMethodError