当前位置:首页 » 安卓系统 » android数字动画

android数字动画

发布时间: 2022-05-25 03:29:19

1. 怎么修改安卓手机的开机动画的播放速度,注意是播放速度。

首先,开机动画的地址:

system/media/bootanimation.zip

要修改开机动画,就是修改
bootanimation.zip
这个文件。

接下来,说说
bootanimation.zip
这个文件的结构。

bootanimation
里面主要包含一个
desc.txt
以及
N
文件夹

而文件夹里面放着的就是你要的开机动画的图片,
decs.txt
的作用就是指导系
统如何去执行你的开机画面。
打开bootanimation.zip中的decs.txt文件
文档的内容
应该如下:

480 854 5
p 1 0 part1
p 0 0 part2

就这么多,现在解释一下这些命令吧。

第一行,
480 854
是代表你屏幕的分辨率,不用管
后面的
5
是说,5
帧每秒,
不懂的可以这么理解,5是代表一秒钟播放5张图片。就这么简单。
(第一行以下的不需要修改)
或许你的这个数字不是5,只要把这一个数字往低设置就可以了
注:需要RE管理器把bootanimation.zip文件复制到SD卡,然后连接到电脑,用电脑修改,之后覆盖原文件即可,注意修改权限

2. 安卓 编程如何为一个图片加上透明度和平移两个动画

Drawable 最强大的功能是:显示Animation。Android SDK介绍了2种Animation:

•Tween Animation(渐变动画):通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果
•Frame Animation(帧动画) :顺序播放事先做好的图像,类似放电影
在使用Animation前,我们先学习如何定义Animation,这对我们使用Animation会有很大的帮助。Animation是以XML格式定义的,定义好的XML文件存放在res/anim中。由于Tween Animation与Frame Animation的定义、使用都有很大的差异,我们将分开介绍,本篇幅中介绍Tween Animation的定义与使用,后续篇幅再详细介绍Frame Animation。按照XML文档的结构【父节点,子节点,属性】来介绍Tween Animation,其由4种类型:

•Alpha:渐变透明度动画效果
•Scale:渐变尺寸伸缩动画效果
•Translate:画面转换位置移动动画效果
•Rotate:画面转换位置移动动画效果
在介绍以上4种类型前,先介绍Tween Animation共同的节点属性。

表一

属性[类型] 功能
Duration[long] 属性为动画持续时间 时间以毫秒为单位
fillAfter [boolean] 当设置为true ,该动画转化在动画结束后被应用
fillBefore[boolean] 当设置为true ,该动画转化在动画开始前被应用
interpolator
指定一个动画的插入器 有一些常见的插入器
accelerate_decelerate_interpolator
加速-减速 动画插入器
accelerate_interpolator
加速-动画插入器
decelerate_interpolator
减速- 动画插入器
其他的属于特定的动画效果
repeatCount[int] 动画的重复次数
repeatMode[String] 定义重复的行为 1:"restart" 2:"reverse" eg: android:repeatMode="reverse"

startOffset[long] 动画之间的时间间隔,从上次动画停多少时间开始执行下个动画
zAdjustment[int] 定义动画的Z Order的改变 0:保持Z Order不变
1:保持在最上层
-1:保持在最下层

看了以上节点,大家是不是都想开始定义动画了。下面我们就开始结合具体的例子,介绍4种类型各自特有的节点元素。

表二

XML节点 功能说明
alpha 渐变透明度动画效果
<alpha
android:fromAlpha=”0.1″
android:toAlpha=”1.0″
android:ration=”3000″ />
fromAlpha 属性为动画起始时透明度
0.0表示完全透明
1.0表示完全不透明
以上值取0.0-1.0之间的float数据类型的数字
toAlpha 属性为动画结束时透明度
表三

scale 渐变尺寸伸缩动画效果
<scale
android:interpolator= “@android:anim/accelerate_decelerate_interpolator”
android:fromXScale=”0.0″
android:toXScale=”1.4″
android:fromYScale=”0.0″
android:toYScale=”1.4″
android:pivotX=”50%”
android:pivotY=”50%”
android:fillAfter=”false”
android:startOffset=“700”
android:ration=”700″
android:repeatCount=”10″ />
fromXScale[float] fromYScale[float] 为动画起始时,X、Y坐标上的伸缩尺寸 0.0表示收缩到没有
1.0表示正常无伸缩
值小于1.0表示收缩
值大于1.0表示放大
toXScale [float]
toYScale[float] 为动画结束时,X、Y坐标上的伸缩尺寸
pivotX[float]
pivotY[float] 为动画相对于物件的X、Y坐标的开始位置 属性值说明:从0%-100%中取值,50%为物件的X或Y方向坐标上的中点位置

表四

translate 画面转换位置移动动画效果
<translate
android:fromXDelta=”30″
android:toXDelta=”-80″
android:fromYDelta=”30″
android:toYDelta=”300″
android:ration=”2000″ />
fromXDelta
toXDelta 为动画、结束起始时 X坐标上的位置
fromYDelta
toYDelta 为动画、结束起始时 Y坐标上的位置

表五

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

按照上面的讲述学习完了Tween Animation的定义,对Tween Animation有了详细的了解,再去了解下Android SDK的animation package(android.view.animation),其提供了操作Tween Animation所有的类。

Android SDK提供了基类:Animation,包含大量的set/getXXXX()函数来设置、读取Animation的属性,也就是前面表一中显示的各种属性。Tween Animation由4种类型:alpha、scale、translate、roate,在Android SDK中提供了相应的类,Animation类派生出了AlphaAnimation、ScaleAnimation、TranslateAnimation、RotateAnimation分别实现了平移、旋转、改变 Alpha 值等动画,每个子类都在父类的基础上增加了各自独有的属性。再去看下这几个类的构造函数,是不是与我们在表二、表三、表四、表五种定义的属性完全一样。

在了解了Tween Animation的定义,对android.view.animation有了一些基本的认识后,开始介绍Tween Animation如何使用。Android SDK提供了2种方法:1、直接从XML资源中读取Animation;2、使用Animation子类的构造函数来初始化Animation对象。第二种方法在看了Android SDK中各个类的说明就知道如何使用了,下面简要说明从XML资源中读取Animation,按照应用程序开发的过程,介绍整个使用的过程,如下:

1.创建Android工程;
2.导入一张图片资源;
3.在res/layout/main.xml中添加一个 ImageView Widget;
4.在res下创建新的文件夹且命名为:anim,并在此文件夹下面定义 Animation XML 文件;
5.修改OnCreate()中的代码,显示动画资源;
关键代码,解析如下:

//main.xml中的ImageView

ImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage);

//加载动画

Animation hyperspaceJumpAnimation =

AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);

//使用ImageView显示动画

spaceshipImage.startAnimation(hyperspaceJumpAnimation);

这里简要解析如下:

•AnimationUtils提供了加载动画的函数,除了函数loadAnimation(),其他的到Android SDK中去详细了解吧;
•所谓的动画,也就是对 view 的内容做一次图形变换;
Android 中的 Animation 应用(二)

对Tween Animation的本质做个总结:Tween Animation通过对 View 的内容完成一系列的图形变换 (包括平移、缩放、旋转、改变透明度)来实现动画效果。具体来讲,预先定义一组指令,这些指令指定了图形变换的类型、触发时间、持续时间。这些指令可以是以 XML 文件方式定义,也可以是以源代码方式定义。程序沿着时间线执行这些指令就可以实现动画效果。

在这里,我们需要对2个问题进行深入的解析:

•动画的运行时如何控制的?
•动画的运行模式。
如何控制动画的运行?
这个问题,我们也就也就是上一篇幅中提到的Tween Animation,估计大家对什么是Interpolator、到底有什么作用,还是一头雾水,在这里做个详细的说明。按照Android SDK中对interpolator的说明:interpolator定义一个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, translate, rotate)得以加速,减速,重复等。

用通俗的一点的话理解就是:动画的进度使用 Interpolator 控制。Interpolator 定义了动画的变化速度,可以实现匀速、正加速、负加速、无规则变加速等。Interpolator 是基类,封装了所有 Interpolator 的共同方法,它只有一个方法,即 getInterpolation (float input),该方法 maps a point on the timeline to a multiplier to be applied to the transformations of an animation。Android 提供了几个 Interpolator 子类,实现了不同的速度曲线,如下:

在动画开始与介绍的地方速率改变比较慢,在中间的时候加速
AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速
CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始减速
LinearInterpolator 在动画的以均匀的速率改变

对于 LinearInterpolator ,变化率是个常数,即 f (x) = x.

public float getInterpolation(float input) {

return input;
}
Interpolator其他的几个子类,也都是按照特定的算法,实现了对变化率。还可以定义自己的 Interpolator 子类,实现抛物线、自由落体等物理效果。

动画的运行模式
动画的运行模式有两种:

•独占模式,即程序主线程进入一个循环,根据动画指令不断刷新屏幕,直到动画结束;
•中断模式,即有单独一个线程对时间计数,每隔一定的时间向主线程发通知,主线程接到通知后更新屏幕;
额外补充说明:Transformation 类
Transformation 记录了仿射矩阵 Matrix,动画每触发一次,会对原来的矩阵做一次运算, View 的 Bitmap 与这个矩阵相乘就可实现相应的操作(旋转、平移、缩放等)。Transformation 类封装了矩阵和 alpha 值,它有两个重要的成员,一是 mMatrix,二是 mAlpha。Transformation 类图如下所示:

总结说明
图形变换通过仿射矩阵实现。图形变换是图形学中的基本知识,简单来讲,每种变换都是一次矩阵运算。在 Android 中,Canvas 类中包含当前矩阵,当调用 Canvas.drawBitmap (bmp, x, y, Paint) 绘制时,Android 会先把 bmp 做一次矩阵运算,然后将运算的结果显示在 Canvas 上。这样,编程人员只需不断修改 Canvas 的矩阵并刷新屏幕,View 里的对象就会不停的做图形变换,因此就形成了动画。

Android 中的 Animation 应用(三)

前面我们详细介绍了Tween Aniamation,这节我将介绍另外一种动画Frame Animation。在前面已经说过,Frame Animation是顺序播放事先做好的图像,与电影类似。不同于animation package, Android SDK提供了另外一个类AnimationDrawable来定义、使用Frame Animation。

Frame Animation可以在XML Resource定义(还是存放到res/anim文件夹下),也可以使用AnimationDrawable中的API定义。由于Tween Animation与Frame Animation有着很大的不同,因此XML定义的格式也完全不一样,其格式是:首先是animation-list根节点,animation-list根节点中包含多个item子节点,每个item节点定义一帧动画:当前帧的drawable资源和当前帧持续的时间。下面对节点的元素加以说明:

XML属性 说明
drawable 当前帧引用的drawable资源
ration 当前帧显示的时间(毫秒为单位)
oneshot 如果为true,表示动画只播放一次停止在最后一帧上,如果设置为false表示动画循环播放。
variablePadding If true, allows the drawable’s padding to change based on the current state that is selected.
visible 规定drawable的初始可见性,默认为flase;

下面就给个具体的XML例子,来定义一帧一帧的动画:

<animation-list xmlns:android=”http://schemas.android.com/apk/res/android”
android:oneshot=”true”>
<item android:drawable=”@drawable/rocket_thrust1″ android:ration=”200″ />
<item android:drawable=”@drawable/rocket_thrust2″ android:ration=”200″ />
<item android:drawable=”@drawable/rocket_thrust3″ android:ration=”200″ />
</animation-list>

上面的XML就定义了一个Frame Animation,其包含3帧动画,3帧动画中分别应用了drawable中的3张图片:rocket_thrust1,rocket_thrust2,rocket_thrust3,每帧动画持续200毫秒。

然后我们将以上XML保存在res/anim/文件夹下,命名为rocket_thrust.xml,显示动画的代码,如下:在OnCreate()中增加如下代码:

ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);

rocketImage.setBackgroundResource(R.anim.rocket_thrust);

rocketAnimation = (AnimationDrawable) rocketImage.getBackground();

最后还需要增加启动动画的代码:

public boolean onTouchEvent(MotionEvent event) {

if (event.getAction() == MotionEvent.ACTION_DOWN) {

rocketAnimation.start();

return true;

}

return super.onTouchEvent(event);
}

代码运行的结果想必大家应该就知道了(3张图片按照顺序的播放一次),不过有一点需要强调的是:启动Frame Animation动画的代码rocketAnimation.start(); 不能在OnCreate()中,因为在OnCreate()中AnimationDrawable还没有完全的与ImageView绑定,在OnCreate()中启动动画,就只能看到第一张图片。
下面,阅读Android SDK中对AnimationDrawable的介绍,有个简单的了解:

AnimationDrawable

获取、设置动画的属性
int getDuration() 获取动画的时长
int getNumberOfFrames() 获取动画的帧数
boolean isOneShot()

Void setOneShot(boolean oneshot)
获取oneshot属性
设置oneshot属性
void inflate(Resurce r,XmlPullParser p,
AttributeSet attrs)
增加、获取帧动画
Drawable getFrame(int index) 获取某帧的Drawable资源
void addFrame(Drawable frame,int ration) 为当前动画增加帧(资源,持续时长)
动画控制
void start() 开始动画
void run() 外界不能直接掉调用,使用start()替代
boolean isRunning() 当前动画是否在运行
void stop() 停止当前动画

总结说明

Frame Animation的定义、使用比较简单,在这里已经详细介绍完了,更加深入的学习还是到Android SDK去仔细了解吧,在Android SDK中也包含很多这方面的例子程序。注:Frame Animation 的XML 文件中不定义 interpolator 属性,因为定义它没有任何意义。

3. android学习内容是什么

首先学习java,java如果搞定,android学起来会比较轻松。
android基础(Android开发环境调试,Android应用结构,界面组件与界面编程,四大组件)
android中级(文件IO与SQLite,图形、图像与动画、音频、视频的录制于播放,传感器编程,GPS应用)
android高级(网络编程与Web Service,OpenGL-ES 3D开发,整合Google服务,使用NDK开发,java和c相互调用)
…………………………………………………………

如果对android感兴趣,看看一个中专生怎么自学android到找到工作。
我是一名中专生,在学校里读的是计算机专业,一次偶然的机会我在网上看到了一段新闻说安卓现在特别火有一年工作已经的工资可以达到8000元左右就算没工作经验起薪也有5000元,5000元对我来说简直就是个天文数字,于是我决定学习安卓,后来我到书店找了一些安卓的书但是由于基础太差,很多都看不明白,网上看到可以报培训班都是几乎每所都要上万大洋,对于我一个一个月只能赚几百元的中专生来说简直是个天文数字,后来在IT学习联盟这个网站看到了一套安卓视频叫<<安卓就业班>>(喜欢《安卓就业班》的可以复制 sina.lt/brxC 粘贴浏览器地址栏按回车键即打开)。价格还挺合理的。觉得内容挺不错的于是我决定买下来,我想既然我看书看不明白,看视频应该容易看明白吧,自从我把视频买下来后就就天天看,因为自己基础太差了,所以每天至少学习5个小时以上,那段日子真的很辛苦但又很充实,觉得我的人生最有意义的时间段。我拿到光盘后首先跟着他要求的学习顺序学习(因为他已经偏好了学习的顺序)从第一块开始到第十七块,首先学的是JAVA,是一个培训视频,总共十几G,但老师幽默风趣而又轻松的课堂教课,使我发现原来学习JAVA并不是一件很难的事情,但我的基础太差了有些地方还是不容易看懂,于是有些地方重复看了两,三篇,甚至四,五篇,大概这样过了一个月我就把JAVA给学会了,这个月因为要上班所以经常学到晚上1,2点早上6点多就起床,星期六,星期天的话就从早上看到晚上,所以有段时间眼睛经常通红通红的,但是我知道天道酬勤这个成语,你努力付出就一定得到回报的,于是我坚持了下来,到了第二阶段,学习android了,他有基础篇和深入篇,基础篇比较容易,深入篇的话还是有点难度的,但是我觉得JAVA学好了,android并不难学,学起来还觉得挺容易的,心里不由自主的笑了,觉得是不是我的付出有了回报,到了第三阶段也是最难的了,是基于linux的嵌入式,因为android的是由linux底层开发的再加上界面是JAVA,所以学好linux的嵌入式也比较重要(如果你以后想成为android内核移植这个方向走的非常重要,工资可是很高的哦,如果你只想做界面的话了解一下也不错),他首先从C语言开始教,然后到linux嵌入式,我觉得这部分太难理解了,很多都是硬着头皮看完的,因为有不地方看不明白,断断续续的来到了第四阶段项目阶段这里总共有22个大项目,一开的时候还是跟不上老师的脚步但是后来就慢慢的跟上了,我觉得项目很重要,他把之前的所有的东西都复习了一遍而且让你熟悉了真正企业项目实线,使你以后工作的时候更容易上手,学习了大概4个多月。终于学完了。就开始找工作。最后找到一份在小公司工作,待遇也有4500元,感觉还行。但是这4500元对我只有中专文聘来说已经很多很多了,我很满足了,我觉得只有肯努力,也会有成功的一天的。

……………………………………

4. 求一款安卓动态壁纸,壁纸内容有数字时钟和日历已经一些其他的信息!最主要是在滑动屏幕时时钟会跟随动!

360手机锁屏。。。加360手机桌面。。。。很炫。忘采纳

5. android怎么加载svg动画

引入SVG还需要从图片的数字化说起。一般来说,将图片存储为数据有两种方案。其一、就是我们传统使用的位图(光栅图)。即将图片看成在平面上密集排布的点的集合。每个点发出的光有独立的频率和强度,反映在视觉上,就是颜色和亮度。位图拥有一个庞大的家族,包括常见的JPEG/JPG, GIF, TIFF, PNG, BMP等。第二种方案就是矢量图(SVG就是其中的一种)。它用抽象的视角看待图形,记录其中展示的模式而不是各个点的原始数据。它将图片看成各个“对象”的组合,用曲线记录对象的轮廓,用某种颜色的模式描述对象内部的图案(如用梯度描述渐变色)。比如一张留影,被看成各个人物和背景中各种景物的组合。这种更高级的视角,正是人类看世界时在意识里的反映。矢量图格式有CGM, SVG, AI (Adobe Illustrator), CDR (CorelDRAW), PDF, SWF, VML等等。

6. 1,android开发中如何在button或者imagebutton类似的,动态显示一个数据,定时刷新一次显示一个数字。

ImageButton就不用了,因为imagebutton是不能settext的,除非你直接换图片,button可以

privatebooleanflag=true;//想停止刷新吧flag改false
Threadt=newThread(){
publicvoidrun(){
try{
while(flag){
handler2.sendEmptyMessage(0);
sleep(5000);
}

}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
};
};

Handlerhandler2=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
super.handleMessage(msg);
button.setText("");
}
};

7. 求在iphone4桌面上显示模仿安卓的动态数字翻页时钟的软件或Cydia插件。

装插件dreamboard即可

8. 安卓手机开机画面和动画怎么改,两个都要改

开机画面,一般是分为2屏,当然也有3屏的说法,不管怎样,我这里说得就是最后的一屏,按照bootanimation的字面意思翻译,大概也就是开机动画的意思,那这就不说第几屏了,直接用“开机动画”这词。

首先,开机动画的地址:system\media\bootanimation.zip。。。要修改开机动画就是修改bootanimation这个文件。如果说你的手机里没有这个文件,那就是说明你用的是官方原始版本的rom开机动画没有被修改过,但这不碍事,没有就放一个进去,到时候想换回最原始的开机画面,也可以把bootanimation这个文件删了。官方最原始的开机动画在system\ framework\framework-res.apk\assets\images里面,里面主要是2张图片,高手可以去研究一下,说不定通过这个文件可以用代码实现动画的过程。

接下来,说说bootanimation.zip这个文件的结构。bootanimation里面主要包含一个desc.txt以及N个文件夹。而文件夹里面放着的就是你要的开机动画的图片。decs.txt的作用就是指导系统如何去执行你的开机画面。

下面继续说说desc.txt这个文档要怎么写。

先看例子,如果我的开机动画要用到2个文件夹,分别是part1和part2,。。。。我希望开机的时候,先把part1里面的图片都播放一遍,然后再循环播放part2里面的文件,直到进入系统。那么decs.txt文档的内容应该如下:

320 480 5

p 1 0 part1

p 0 0 part2

就这么多,现在解释一下这些命令吧。

第一行,320 480是代表你屏幕的分辨率,因为我们的胖6是320*480的,这就不多说了。后面的5是说:5帧每秒,不懂的可以这么理解,5是代表一秒钟播放5张图片。就这么简单。

第二行,p 1 0 part1。p应该是play吧,也就是播放的意思。1是播放一次。0是空指令,就是什么都不做。part1就是说,这条指令是针对part1这个文件夹的。整条指令的意思就是,播放part1里面的图片1次,然后什么都不做,马上进入下一条指令。

第三行,p 0 0 part2。p依然是播放。第一个0这里是代表循环播放,第二个0和上面第二条指令一样,代表什么也不做。part2也就不多说了。

至于为什么第一个0为什么是代表循环,只能这么说,这事国际惯例,就像用迅雷的时候,0代表不限制速度一样,系统规定的,你知道就好,别纠结。

总结公式如下

第一条指令:屏幕的分辨率(空格)播放频率

第二条指令:p(空格)播放次数(空格)后续操作(空格)作用文件夹

第三条指令:同上

第N条指令:同上

屏幕分辨率的格式是:宽(空格)高,320 480。。。播放频率,上面已经说清楚了,至于到底要用多大的数字,视你开机动画的张数而定,比如说,一共有100张图片,开机时间是20秒,那么100/20就是5。

播放次数,1是代表一次,0代表循环播放。如果要播放2次的话,就是就是打个2上去,应该是这样吧,反正我是没试过,只试过0和1.后续操作,0代表什么都不做,直接进入下一条指令。10是代表稍作停顿。

至于文件夹里面的图片,比较简单,首先,纠正一个说法,之前说必须要是png格式,经过我试验证明,jpg格式的也可以,其他的有待试验,不过只支持静态图片这点应该是真的,动态图片同样有待试验。其次,关于图片的尺寸,是不做要求的,只要在txt文档里写好手机的分辨率即可,开机的时候系统会自动适配。其其次要按播放循序命名,建议用5位数字,比如说,第一张图片是00010,第二张就是00020.。。。。为什么要从00010开始,而不是00001?因为这事预防以后要在第一张和第二张中间再插一张图片进去的话,就可以把插进去的图片命名为00011,在00010之后,00020之前。就这么简单。

至于图片那里来嘛,当然是自己网上找啦,也可以下载别人的bootanimation,然后修改一下。最后就是压缩包了,把需要用到的part文件夹跟decs.txt打包成zip格式,必须是zip,不能是rar,而且打包的时候压缩方式要选择“存储”模式。然后改名成为bootanimation.zip,复制到SD卡里,再通过RE文件管理器复制到system\media\下面,重启。

要注意一下,bootanimation不能太大,大了会卡,一般不要超过3M。

9. Android怎样增加关机动画/增加关机动画实现方法

前提:手机要ROOT提权,用R.E.管理器粘贴复制 开机画面,一般是分为2屏,当然也有3屏的说法,不管怎样,我这里说得就是最后的一屏,按照bootanimation的字面意思翻译,大概也就是开机动画的意思,那这就不说第几屏了,直接用“开机动画”这词。 首先,开机动画的地址:system\media\bootanimation.zip。。。要修改开机动画就是修改bootanimation这个文件。如果说你的手机里没有这个文件,那就是说明你用的是官方原始版本的rom开机动画没有被修改过,但这不碍事,没有就放一个进去,到时候想换回最原始的开机画面,也可以把bootanimation这个文件删了。官方最原始的开机动画在system\ framework\framework-res.apk\assets\images里面,里面主要是2张图片,高手可以去研究一下,说不定通过这个文件可以用代码实现动画的过程。 接下来,说说bootanimation.zip这个文件的结构。bootanimation里面主要包含一个desc.txt以及N个文件夹。而文件夹里面放着的就是你要的开机动画的图片。decs.txt的作用就是指导系统如何去执行你的开机画面。 下面继续说说desc.txt这个文档要怎么写。 先看例子,如果我的开机动画要用到2个文件夹,分别是part1和part2,。。。。我希望开机的时候,先把part1里面的图片都播放一遍,然后再循环播放part2里面的文件,直到进入系统。那么decs.txt文档的内容应该如下: 320 480 5 p 1 0 part1 p 0 0 part2 就这么多,现在解释一下这些命令吧。 第一行,320 480是代表你屏幕的分辨率,因为我们的胖6是320*480的,这就不多说了。后面的5是说:5帧每秒,不懂的可以这么理解,5是代表一秒钟播放5张图片。就这么简单。 第二行,p 1 0 part1。p应该是play吧,也就是播放的意思。1是播放一次。0是空指令,就是什么都不做。part1就是说,这条指令是针对part1这个文件夹的。整条指令的意思就是,播放part1里面的图片1次,然后什么都不做,马上进入下一条指令。 第三行,p 0 0 part2。p依然是播放。第一个0这里是代表循环播放,第二个0和上面第二条指令一样,代表什么也不做。part2也就不多说了。 至于为什么第一个0为什么是代表循环,只能这么说,这事国际惯例,就像用迅雷的时候,0代表不限制速度一样,系统规定的,你知道就好,别纠结。 总结公式如下 第一条指令:屏幕的分辨率(空格)播放频率 第二条指令:p(空格)播放次数(空格)后续操作(空格)作用文件夹 第三条指令:同上 第N条指令:同上 屏幕分辨率的格式是:宽(空格)高,320 480。。。播放频率,上面已经说清楚了,至于到底要用多大的数字,视你开机动画的张数而定,比如说,一共有100张图片,开机时间是20秒,那么100/20就是5。 播放次数,1是代表一次,0代表循环播放。如果要播放2次的话,就是就是打个2上去,应该是这样吧,反正我是没试过,只试过0和1.后续操作,0代表什么都不做,直接进入下一条指令。10是代表稍作停顿。 至于文件夹里面的图片,比较简单,首先,纠正一个说法,之前说必须要是png格式,经过我试验证明,jpg格式的也可以,其他的有待试验,不过只支持静态图片这点应该是真的,动态图片同样有待试验。其次,关于图片的尺寸,是不做要求的,只要在txt文档里写好手机的分辨率即可,开机的时候系统会自动适配。其其次要按播放循序命名,建议用5位数字,比如说,第一张图片是00010,第二张就是00020.。。。。为什么要从00010开始,而不是00001?因为这事预防以后要在第一张和第二张中间再插一张图片进去的话,就可以把插进去的图片命名为00011,在00010之后,00020之前。就这么简单。 至于图片那里来嘛,当然是自己网上找啦,也可以下载别人的bootanimation,然后修改一下。最后就是压缩包了,把需要用到的part文件夹跟decs.txt打包成zip格式,必须是zip,不能是rar,而且打包的时候压缩方式要选择“存储”模式。然后改名成为bootanimation.zip,复制到SD卡里,再通过RE文件管理器复制到system\media\下面,重启。 要注意一下,bootanimation不能太大,大了会卡,一般不要超过3M。

10. android怎么设置动画逐渐透明

在xml中定义:
alpha.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 透明度控制动画效果 alpha
浮点型值:
fromAlpha 属性为动画起始时透明度
toAlpha 属性为动画结束时透明度
说明:
0.0表示完全透明
1.0表示完全不透明
以上值取0.0-1.0之间的float数据类型的数字

长整型值:
ration 属性为动画持续时间
说明:
时间以毫秒为单位 -->

<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:ration="5000"
/>
</set>

热点内容
怎么给服务器装插件 发布:2025-08-22 01:19:59 浏览:857
自己怎么搭建网站服务器 发布:2025-08-22 00:36:54 浏览:141
按键精灵只能做手游脚本吗 发布:2025-08-22 00:31:22 浏览:152
php网站制作 发布:2025-08-22 00:31:19 浏览:488
java的http编程 发布:2025-08-21 23:56:32 浏览:988
大学数据库试题 发布:2025-08-21 23:56:28 浏览:802
沾福卡的算法 发布:2025-08-21 23:38:26 浏览:339
java极光 发布:2025-08-21 23:38:14 浏览:712
php路由框架 发布:2025-08-21 23:32:17 浏览:773
超微ipmi无法解析服务器dns地址 发布:2025-08-21 23:31:14 浏览:164