Animation与nineoldandroid项目 day02

一.  项目问题

1. 欢迎界面显示时,使back键失效

二. 项目开发功能点:

1. 监听按键事件

在Activity中重写onKeyDown()方法

2. 自定义主题解决Android多版本碎片化问题

目的:在2.x中的主题是NoTitlebar,

在4.x中的主题是NoActionbar

Android系统的读取资源的机制:

apk的res目录中有多个styles.xml,

当apk运行在2.x版本中,Android系统会读取values目录中的

styles.xml

当apk运行在4.x版本中,Android系统会读取values-v14

目录中的styles.xml

步骤:

1) 在values/styles.xml文件中新建一个主题

2) 在values/styles.xml文件中新建一个父主题

3) 在values-v14/styles.xml文件中新建一个父主题

4)  在清单文件中为欢迎页面Activity配置新的主题

3. 动画

gif、flash

原理:若干图片按照顺序和一定时间间隔(100毫秒)播放

默认不支持gif,因为画质较差(8位图,256色)

Android中支持的动画

3.1 FrameAnimation

功能:能够实现任意复杂动画

实现步骤:

1) 拷贝关键帧(Frame)

2) 新建Android XML

Resource Type :Drawable

Root Element   :animation-list

3) 编辑图片先后顺序和切换时间间隔

增加oneshot属性,动画只播放一次

4) 得到动画对象AnimationDrawable,播放

    注意:FrameAnimation图片数量有限

    实际应用场景:局部的范围内,使用少量图片实现动画

3.2 TweenAnimation

原理:通过改变View的属性

大小、位置、角度、透明度

3.2.1 实现透明度动画步骤:

a) 代码方式创建动画对象

b) XML方式创建动画对象

编辑Animation内容

代码中将动画xml转换为Animation对象

3.2.2  缩放动画配置                     移动动画配置

  

旋转动画配置 

一个屏幕的宽度或高度:100%p

4. 快捷的注册事件的方法

1) 在布局中为控件添加onClick属性

2)  在Activity中添加以onClick属性值为名称的方法

注意:必须是public,参数必须是View v

5. 开源项目原理

项目设置为库,可被其他项目复用

6. nineoldandroid项目用法

Properties动画    属性动画
Android3.x新增

问题:官方不支持2.x
使用开源项目

7. 欢迎页面
    使用的控件ViewPager
    libs/android-support-v4.jar
实现步骤:
1) 在布局中新增ViewPager控件
    android.support.v4.view.ViewPager
    技巧:在代码中输入ViewPager,联想后在import中
2) 初始化所有ViewPager页面,并用ArrayList<View>保存
3) 代码中设置适配器
    mPager.setAdapter()
4) 重写isViewFromObject()方法
    return arg0 == arg1;
5) 重写instantiateItem()方法
    View view = mList.get(position);
    mPager.addView(view);
    return view;    
6) 重写destroyItem()方法
    View view = mList.get(position);
    mPager.removeView(view);

// 改变ViewPager缓存个数,

// 参数的含义是左右各缓存几个
   mPager.setOffscreenPageLimit(3);

java.lang.UnsupportedOperationException: Required method

destroyItem was not overridden

附:常见问题

目标:能够解决所有讲解过的FC问题

1. 代码中引用R编译错误,

原因是:导入了错误的R

2. java.lang.RuntimeException: Unable to instantiate(实例化) activity ComponentInfo{com.example.cw_0811/com.example.w_0811.MainActivity}: java.lang.ClassNotFoundException: com.example.w_0811.MainActivity

FC的原因:运行时异常和Error

查看日志的方法:

1) 拉到logcat最底部,向上找

main是线程名称,可以是其他

2) 找异常类型名称:

3) ClassNotFoundException的原因是:

代码中没有这个类,注意仔细检查包名 + 类名

3. java.lang.RuntimeException: Unable to start activity ComponentInfo{org.yuchen.test/org.yuchen.test.MainActivity}: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.ImageView

原因:eclipse的ADT的bug

出现场景:修改布局而较少修改代码

解决:project->clean

Animation与nineoldandroid项目 day02

时间: 2025-01-02 11:18:01

Animation与nineoldandroid项目 day02的相关文章

移动端填坑之路

搞PC项目,最头疼的莫过于做IE6/7/8的兼容性(很蛋疼的事).而在如今移动端H5的兴起中,面对形形色色的机型,各种各样的品牌手机,导致我吗们FE们要做各种手机适配问题.样式兼容问题等等(巨烦,找问题还不好找).以下是在移动端项目之路上所遇到的各种问题: UC浏览器--css3的坑 最近在做一个移动端项目,涉及到评论模块,有评论必有点赞功能,当然也就存在点赞动画效果,第一反应就是利用css3动画效果. 方案一:transition+伪元素 .方案二:transition.方案呢三:animat

unity3d中的菜单翻译

Edit 编辑frame selected 选取线框select all 选取所有special characters 角色专题load selection 加载选择save selection 保存选择project settings 项目设置render settings 渲染设置graphics emulation 图形模拟network emulation 网络模拟 Assets 资产 import settings 导入设置reimport 重新导入 creater 创建r in fi

创建XML的用法

注意:在实际开发中,注意createElement().createAttribute().createTextNode().appendchild()等方法的具体使用. // root根节点的属性数组配置 $rootArray = [ 'caption' => '会员账户信息', 'animation' => '1', 'xAxisName' => '项目名称', 'yAxisName' => '单位(元)', 'numberSuffix' => '元', 'decimal

项目实战中遇到的关于transition 和 animation 的犯错体会

响应式简历里面的头像边框要求鼠标悬停在头像区域时,box-shadow放大后再缩小的闪烁效果 一开始用的transition,效果接近,但没有闪烁效果 .user-inform .user-img { margin-top: 80px; margin-left: auto; margin-right: auto; width: 120px; height: 120px; background-color: white; border-radius: 50%; box-shadow: 0 0 0

animation动画汇总(一阶段项目)

animation 属性 动画属性: 1.animation-name:规定需要绑定到选择器的 keyframe 名称. 2.animation-duration:规定完成动画所花费的时间,以秒或毫秒计. 3.animation-timing-function:规定动画的速度曲线. 4.animation-delay:规定在动画开始之前的延迟. 5.animation-iteration-count:规定动画应该播放的次数. 6.animation-direction:规定是否应该轮流反向播放动

团队项目个人进展——Day02

一.昨天工作总结 冲刺第二天,昨天成功接入高德地图接口,并通过官方提供的文档实现了地图定位功能,通过官方在GitHub上提供的Demo可以看出还能实现天气查看,路径规划等功能: 二.遇到的问题 虽然通过对高等地图官方提供的实现定位功能的代码不太理解 尝试接入百度地图失败,调试时未找出原因 三.今日工作规划 继续研究地图定位代码,并通过编写WXSS样式来对地图显示布局合理

优秀的 Android 开源项目

摘要  转载http://www.trinea.cn/android/android-open-source-projects-view/,方便大家找到自己合适的资料 目录[-] 一.ListView 二.ActionBar 三.Menu 四.ViewPager .Gallery 五.GridView 六.ImageView 七.ProgressBar 八.其他 GitHub上优秀Android开源项目 3. Android开发神器 1.Xabber客户端 2.oschina客户端 3.手机安全

GitHub 优秀的 Android 开源项目

转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包含ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其它如Dialog.Toast.EditText.TableView.Activity Animation等等. 一.ListView android-pulltorefresh 一个强大的拉动

gitHub优秀android项目

转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其他如Dialog.Toast.EditText.TableView.Activity Animation等等. 一.ListView android-pulltorefresh 一个强大的拉动