课堂笔记
2016-01-26 21:57
381 查看
动画 Animation
使用第三方控件
从网上下载第三方控件sample:用于学习第三方控件
library:要被使用的第三方工具,用eclipse可以直接导入library;Android studio需要创建一个library的module
要将开发中工程(module)和library关联起来
直接使用library中提供的控件
Bitmap的使用
从res/drawable目录,assets目录和手机中加载Bitmap图片Bitmap和BitmapFacotry的区别
BitmapFacotry:内存从无到有的过程,从各种文件中加载图片到内存
Bitmap:从内存中,再拷贝出新的一张图片
OOM(内存溢出)
Cursor和数据需要关闭避免内存溢出Activity不能直接传递,要使用接口
图片加载的时候,要使用缩略图
通过options加载图片的大小和目标大小进行比较获取到缩小的size
通过options再次加载缩小以后的图片
Drawable和Bimap的区别
所有的可以绘制的内容bitmap,shape都是要被封装成drawable才会被绘制直接加载Drawable效率最高
Image缓存的使用
避免加载重复的图片创建一个HashMap容器,用于存放图片的缓存
每次在加载的时候,先从缓存中判断,看图片是否已经加载了
如果加载了那么则直接从缓存中获取图片
如果没有那么加载图片的同时随便将图片放入到缓存中
安卓中的动画
Tween动画
计算机自动生成的动画效果使用代码加载动画效果
创建出一个动画效果设置动画效果的参数
让控件执行动画效果
iv_scanner = (ImageView) findViewById(R.id.iv_scanner); iv_scanner.post(new Runnable() { @Override public void run() { //创建一个旋转的动画 Animation animation = new RotateAnimation( 0, 360, iv_scanner.getWidth() / 2, iv_scanner.getHeight() / 2 ); //设置动画的时 animation.setDuration(1000); //设置次数 animation.setRepeatCount(Animation.INFINITE); //开始动画 iv_scanner.startAnimation(animation); } });
不可以再onCreate中,获取控件的大小,因为在oncreate的时候界面并没有创建出来,所以无法知道控件的大小。可以使用控件.post执行一个runnable来获取控件的大小
使用Xml的方式加载动画
在res目录下创建一个anim文件夹创建旋转动画的xml,在其中设置动画的相关属性
在代码中通过AnimationUtils加载动画
通过控件startAnimation
动画的应用Activity的动画效果
Intent intent = new Intent(); intent.setClass(this,Main2Activity.class); startActivity(intent); //设置Activity的动画效果 overridePendingTransition( R.anim.right_in, R.anim.left_out );
- 手势滑动切换Activity
float startX; @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: //获取按下去的x坐标 startX = event.getX(); break; case MotionEvent.ACTION_UP: //从右向左边滑动 if(startX - event.getX()>100){ jump(null); } break; } return super.onTouchEvent(event);}
PopupWindows的动画效果
popupwindwos:在任意位置弹出的对话框1,创建动画xml
2,在style中设置进入和出去的动画效果
@anim/fadein
@anim/fadeout
3, 设置对话框的动画样式
popUpWindows.setAnimationStyle(R.style.PopupAnimation);
帧动画
需要多张图片生成的动画将所有的图片拷贝到drawable目录下
在drawable目录下创建一个animation-list的xml进行绘制
在layout的xml中设置创建的animation的drawable为控件的background
在代码中获取到Animationdrawable开始动画
ImageView iv_loading = (ImageView) findViewById(R.id.iv_loading); //获取到背景动画 AnimationDrawable animationDrawable = (AnimationDrawable) iv_loading.getBackground(); animationDrawable.start();
属性动画
是3.0之后出现的动画效果,配合Fragment出现的动画效果使用xml创建属性动画
在res的animator目录创建属性动画
主要是使用在Fragment的动画效果中
自定动画
第三方的动画效果NineOldAndroids:大神写的第三方效果
Enter:进入
Animation:动画
Interpolator:振幅器
INFINITE:无限次
inJust:仅仅
Decode:解析
Bounds:边框
相关文章推荐
- 《美丽心灵》(A Beatiful Mind)——经典台词
- 【Eclipse】--Eclipse之于高效编码,合则生分则死(二)
- JAVAasist操作字节码
- 约瑟夫问题
- 设计模式—命令模式
- 求1+2+3+...+n
- iOS MD5加密 —— HERO博客
- 作为一个新人,怎样学习嵌入式Linux?
- 【C#】.NET提供了哪些类型来实现反射
- css学习笔记20160125分组嵌套选择器尺寸显示
- plsql中文字符不能匹配
- startActivityForResult用法详解
- LVM基本概念、管理
- java String源码学习
- poj-1990-MooFest(树状数组)
- WPF当属性值改变时利用PropertyChanged事件来加载动画
- Android Application Fundamentals——Android应用程序基础知识
- C++ DirectX 游戏开发初级视频教程 17 资源下载链接
- AngularJS动态绑定ng-options的ng-model
- 欢迎使用CSDN-markdown编辑器