`
dss16694
  • 浏览: 147287 次
社区版块
存档分类
最新评论

安卓窗口动画修改制作心得,定制属于你自己的特效动画

 
阅读更多

转载自:http://www.miui.com/thread-714328-1-1.html

 

控制安卓窗口动画的代码是在framework-res.apk文件中的anim文件夹下,说一下整体的思路,打开anim文件编辑里面的xml文件,然后把他们再放回手机里,首先我们要把framework-res.apk提取出来,如果你使用解压缩的办法会发现里边的文件
是乱码,所以文件是需要我们反编译才能编辑。
反编译以及回编译请移步此贴  http://bbs.lidroid.com/forum.php?mod=viewthread&tid=102159&extra=page%3D1%26filter%3Dtypeid%26typeid%3D14%26typeid%3D14
      反编译完成以后,我们就可以打开anim文件,浏览里边的代码了。 安卓绘图有4个基本代码



  • 1.alpha        渐变透明度动画效果    1是不透明,0是完全透明
  • 2scale        渐变尺寸伸缩动画效果   1是原大小    2就是两倍大小   
    fromXScale[float] fromYScale[float]
    为动画起始时,X、Y坐标上的伸缩尺寸
  • pivotX[float]
    pivotY[float]
    为动画相对于物件的X、Y坐标的开始位置
  • pivovX 和pivovY也就是描述 画面的缩放中心
  • 3.translate  画面转换位置移动动画效果
  • fromXDelta
    toXDelta
    为动画、结束起始时 X坐标上的位置

    fromYDelta
    toYDelta 
    为动画、结束起始时 Y坐标上的位置


  • 4.rotate      画面转移旋转动画效果
  • fromDegrees
    为动画起始时物件的角度
    说明
    当角度为负数——表示逆时针旋转
    当角度为正数——表示顺时针旋转
    (负数from——to正数:顺时针旋转)
    (负数from——to负数:逆时针旋转)
    (正数from——to正数:顺时针旋转)
    (正数from——to负数:逆时针旋转)
    toDegrees
    属性为动画结束时物件旋转的角度 可以大于360度
    pivotX
    pivotY
    为动画相对于物件的X、Y坐标的开始位
    说明:以上两个属性值 从0%-100%中取值
    50%为物件的X或Y方向坐标上的中点位置

看明白了上面四个代码的意思就可以明白如何修改得到自己喜欢的特效了。
我百度了很多,但是发现很多论坛上这些控制文件的控制对象都说的十分含糊。
经过我很多天的测试,摸索,我把几个文件的控制的特效贴在下边。
dialog_enter     描述的对话框的打开  
dialog_close      描述的对话框的关闭        具体就是比如你进入文件管理器,长按一个文件夹,就会弹出那儿对话框,写着各种文件操作,比如复制剪切。
inputmethod_开头的全是控制输入法的  
lock_screen_behind_enter   
lock_screen_enter
lock_screen_exit 
这三个是控制锁屏的,第一个是控制锁屏以后解锁回桌面桌面的变化,第三个是控制解锁一个在桌面上层覆盖的画面的变化情况。
options_panel_enter
options_panel_exit
这两个是控制在桌面时候点击功能键时候的动画。
task_close_enter
task_close_exit
task_open_enter
task_open_exit
这四个是控制任务切换时候的动画,比如你从短信界面切换到qq界面,第一个是程序关闭时另一个程序的进入动画,比如你打开短信,再打开qq,这时候你按返回键,QQ就是被关闭的程序,这时候短信就是另一个程序,他控制了短信的进入特效
第二个是程序关闭退出的特效,就是上文qq退出时候的动画
第三个是程序打开时候程序进入的特效,比如先打开短信,再打开qq,qq进来的特效
第四个是程序打开时,旧程序退出的特效,就是短信退出的特效。
app_starting_exit
这个是程序退出时候的特效。
activity_close_enter
activity_close_exit
activity_open_enter
activity_open_exit
有没有发现这组和上一组很像,要是单纯翻译到中文,你根本区分不了task任务和activity活动的区别,实际上变成里边一个task
包含几个activity,activity是一个应用程序里边的附属的切换页面,我理解的就是手机设置里面那些设置按钮的切换特效。
wallpaper_close_enter
wallpaper_close_exit
wallpaper_open_enter
wallpaper_open_exit
这四个就是控制你启动程序和退出程序时候的效果了,这也是我最初修改动画的目的所在,却是我最后一个才找到的,安卓原生退出特效是一个矩形不断变小,变成一个0.5倍的矩形的过程,我一直觉得为什么不变到0.1倍,0.5呗突然消失总觉得不爽,话不多说言归正传,第一个按文件名理解,壁纸关闭的时候进入的动画,就是你在桌面上启动qq,qq进入平面的动画。
第二个壁纸关闭的时候退出动画,就是你在桌面启动qq,桌面退出时候的动画,第三个壁纸出现时候进入的动画,就是你从qq退出到桌面,桌面显示的动画,最后一个壁纸进入,退出的动画,就是从qq退出到桌面,qq消失的动画。这四个是昨天晚上突然有的灵感,不知道为何以前修改这些都没有效果,差点就因此放弃了。
然而
wallpaper_enter
wallpaper_exit
wallpaper_intra_close_enter
wallpaper_intra_close_exit
wallpaper_intra_open_enter
wallpaper_intra_open_exit
这6个我没读懂,大家谁明白了快点告诉我呀,intra 内部的,那么到底什么是壁纸内部动画特效呢?不得而知了。

例子:
比如你觉得解锁画面太单调了,想来一个缩放特效,那么就打开解锁的控制文件
<?xml version="1.0" encoding="UTF-8"?>
<set android:interpolator="@anim/accelerate_interpolator"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha android:duration="@integer/config_longAnimTime" android:fromAlpha="0.6" android:toAlpha="1.0" />
   </set>
前边  android:interpolator是定义动画速率的,然后accelerate_interpolator是加速的意思
     看第四行 alpha 透明度   duration 是动画时间的意思   后面="@integer/config_longAnimTime" ,可以把long改成short,或者medium,这些都是在其他文件里定义好的时间,或者干脆改成数字是以毫秒计数的。上面的动画就是说在longanimtime内从0.6的不透明度变化到1的不透明度,我们在这个后面添加以下代码
scale android:duration="@integer/config_longAnimTime" android:pivotX="50.0%" android:pivotY="50.0%" android:fromXScale="2.5" android:toXScale="1.0" android:fromYScale="2.5" android:toYScale="1.0" />

这个函数不用自己写呀,随便打开一个文件自己找的有scale函数的把格式粘过来就行了,深蓝色的部分是定义缩放的中心为屏幕中心,浅蓝色的部分是横坐标的初始尺寸和结束尺寸,后面是纵坐标的初始尺寸和结束尺寸。
关于坐标,经过一些实验我认为是屏幕的左上角是坐标零点,向右为x正方向。向下是y正方向。可是有些代码按这个坐标系就读不太懂了,我也不知道怎么回事。

就这么多吧,把这些编辑好的文件回编译回去测试就行了。

分享到:
评论

相关推荐

    安卓动画特效合集

    "安卓动画特效合集"是一个集合了大量常见安卓应用动画效果的资源库,它涵盖了市场上多种流行且实用的动画技术。这个合集主要面向开发者,帮助他们在自己的应用程序中实现丰富多样的动态视觉效果,从而提高用户对应用...

    安卓手机个性开机动画制作(制作属于自己的个性开机动画)

    制作属于自己的个性开机动画是一项有趣且富有创意的技术活。下面将详细介绍如何制作安卓手机的个性开机动画。 首先,我们需要了解开机动画的基本概念。开机动画是在手机启动时显示的一系列动态图像,它在操作系统...

    Android开机logo开机动画定制

    本文将深入探讨如何在Android 5.1系统上,特别是在高通平台msm8909上定制开机logo和开机动画,以及涉及到的相关技术知识点。 首先,我们来了解一下开机动画(bootanimation)。开机动画是由一系列连续的图像帧组成...

    Android 光影效果的文字动画特效.rar

    "Android 光影效果的文字动画特效"是一个专门为Android平台设计的动画库,它能让文字或按钮产生类似光线划过的动态效果,为用户界面增添视觉魅力。这个特效适用于TextView和Button组件,使得文本输入或按钮点击变得...

    android礼物动画特效DEMO

    在Android开发中,为了增强用户体验,经常会用到各种各样的动画特效,特别是在直播类应用中,礼物动画特效是提升互动性和趣味性的重要手段。"android礼物动画特效DEMO"就是一个展示如何在Android平台上实现此类特效...

    安卓动画效果相关-activity切换特效.rar

    这个压缩包"安卓动画效果相关-activity切换特效.rar"包含了关于如何实现Android应用中Activity之间过渡的动画效果的相关资源。虽然由于文件数量众多,无法逐一验证其可用性,但它们提供了学习和参考的价值。 在...

    android开机动画包制作工具

    在Android系统中,开机动画不仅为用户提供了设备启动时的...通过以上步骤,你可以利用“Android开机动画包制作工具”创建个性化的开机动画,提升设备的用户体验。记得参考相关博客和文档,以获取更详细的教程和技巧。

    安卓动画效果相关-android按钮点击动画特效.zip

    在安卓开发中,动画效果是提升用户体验的关键因素之一。这个压缩包"安卓动画效果相关-android按钮点击动画特效.zip"显然包含了一些关于如何为Android按钮添加点击动画效果的资源。按钮点击动画不仅可以让用户直观地...

    android 仿GIF 制作动画特效

    在Android开发中,有时我们需要为...总的来说,Android 仿GIF动画特效的制作涉及读取SD卡图片、动态视图切换、帧动画的实现以及性能优化等多个方面。通过熟练掌握这些技术,开发者可以创造出流畅且个性化的动画效果。

    android按钮点击动画特效

    "android按钮点击动画特效"这个主题涵盖了各种按钮的交互效果,包括关注、收藏、点赞和评论等常见功能,这些特效使得用户操作更加生动有趣。下面将详细讨论如何在Android中实现这样的动画效果。 首先,Android提供...

    Android【动画】【特效】 17种动画特效

    在Android开发中,动画和特效是提升用户体验的关键因素。这些元素可以使用户界面更加生动和吸引人,同时也可以增强应用的功能性和交互性。本资源提供的是一个包含17种不同动画特效的集合,每个效果都有详细的注释,...

    android心率动画特效源码,安卓心率项目代码

    在Android开发中,实现心率动画特效是一项技术挑战,它涉及到图形渲染、动画处理以及用户交互等多个方面。本文将深入探讨如何使用Android SDK来创建一个心率动画特效,结合具体的项目代码来阐述其中的关键知识点。 ...

    安卓动画效果相关-基于android旋转动画做的摇晃铃铛的动画效果代码很简单注释很简单可直接集成在项目中非常好用.rar

    这个压缩包文件提供的内容是一个基于Android旋转动画实现的摇晃铃铛的特效。这种动画效果可以让应用的交互更加生动有趣,适用于游戏、教育或者通知提示等场景。下面我们将详细探讨如何在Android中创建这样的旋转动画...

    分享Android TV 11开机动画(附上使用方式)

    首先,开机动画是由一系列图像或视频组成的,它们在系统启动过程中播放,通常包含Android的Logo或其他定制的图形。在Android TV 11中,这些动画文件被存储在设备的特定位置,即 `\system\media` 目录下。这表明系统...

    Android开机动画包bootanimation.zip

    4. **自定义开机动画**:用户可以通过修改bootanimation.txt文件和替换帧图像来自定义自己的开机动画。这通常需要一些基本的图像编辑技巧和对bootanimation.txt语法的理解。 5. **权限与安全**:在Android设备上...

    Android开机动画修改

    要修改开机动画,你需要创建自己的`bootanimation.zip`文件,将自定义的图像序列和配置文件放入其中。 `desc.txt`文件是`bootanimation.zip`中至关重要的组成部分,它定义了动画的播放规则。文件的第一行包含了三个...

    Android晃动动画例子

    在Android开发中,动画是提升用户体验的关键元素之一。"Android晃动动画例子"是一个...在提供的`ShakeDemo`项目中,应该包含了上述步骤的具体实现,你可以通过查看和运行这个项目来更好地理解和学习晃动动画的制作。

    安卓开机动画 bootanimation.zip

    "安卓开机动画 bootanimation.zip"是一个专用于定制或替换Android设备开机动画的压缩文件。 这个压缩包文件遵循特定的格式和结构,主要由`desc.txt`和`part0`等部分组成。`desc.txt`文件是开机动画的描述文件,它...

    android气泡动画实现

    在Android开发中,动画是提升用户体验的关键因素之一。"android气泡动画实现"是指在Android应用中创建一种独特的视觉效果,即用户点击屏幕任意位置后,该位置会呈现出气泡爆炸的效果。这种动画通常用于吸引用户的...

    浮动窗口动画显示

    在Android开发中,实现浮动窗口动画显示涉及到多个关键知识点,包括自定义视图、窗口权限、动画处理以及触摸事件响应。下面将详细讲解这些概念及其应用。 首先,我们需要理解Android中的浮动窗口,通常称为“悬浮窗...

Global site tag (gtag.js) - Google Analytics