- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Android开发之Animations动画用法实例详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例讲述了android开发之animations动画用法。分享给大家供大家参考,具体如下:
1、动画类型 。
android的animation由四种类型组成:alpha、scale、translate、rotate 。
xml配置文件中 。
。
。
。
。
animation主要有两种动画模式:tweened 和 frame 。
一种是tweened animation(渐变动画) 。
。
。
。
。
① 打开eclipse,新建android工程 ② 在res目录中新建anim文件夹 ③ 在anim目录中新建一个myanim.xml(注意文件名小写) ④ 加入xml的动画代码 。
1
2
3
4
5
6
7
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<set xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<alpha/>
<scale/>
<translate/>
<rotate/>
</set>
|
4、android xml动画解析 。
1. alpha 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<set xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<alpha
android:fromalpha=
"0.1"
android:toalpha=
"1.0"
android:duration=
"3000"
/>
<!-- 透明度控制动画效果 alpha
浮点型值:
fromalpha 属性为动画起始时透明度
toalpha 属性为动画结束时透明度
说明:
0.0
表示完全透明
1.0
表示完全不透明
以上值取
0.0
-
1.0
之间的
float
数据类型的数字
长整型值:
duration 属性为动画持续时间
说明:
时间以毫秒为单位
-->
</set>
|
2. scale 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<set xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<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:duration=
"700"
/>
</set>
<!-- 尺寸伸缩动画效果 scale
属性:interpolator 指定一个动画的插入器
在我试验过程中,使用android.res.anim中的资源时候发现
有三种动画插入器:
accelerate_decelerate_interpolator 加速-减速 动画插入器
accelerate_interpolator 加速-动画插入器
decelerate_interpolator 减速- 动画插入器
其他的属于特定的动画效果
浮点型值:
fromxscale 属性为动画起始时 x坐标上的伸缩尺寸
toxscale 属性为动画结束时 x坐标上的伸缩尺寸
fromyscale 属性为动画起始时y坐标上的伸缩尺寸
toyscale 属性为动画结束时y坐标上的伸缩尺寸
说明:
以上四种属性值
0.0
表示收缩到没有
1.0
表示正常无伸缩
值小于
1.0
表示收缩
值大于
1.0
表示放大
pivotx 属性为动画相对于物件的x坐标的开始位置
pivoty 属性为动画相对于物件的y坐标的开始位置
说明:
以上两个属性值 从
0
%-
100
%中取值
50
%为物件的x或y方向坐标上的中点位置
长整型值:
duration 属性为动画持续时间
说明: 时间以毫秒为单位
布尔型值:
fillafter 属性 当设置为
true
,该动画转化在动画结束后被应用
-->
|
3. translate 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<set xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<translate
android:fromxdelta=
"30"
android:toxdelta=
"-80"
android:fromydelta=
"30"
android:toydelta=
"300"
android:duration=
"2000"
/>
<!-- translate 位置转移动画效果
整型值:
fromxdelta 属性为动画起始时 x坐标上的位置
toxdelta 属性为动画结束时 x坐标上的位置
fromydelta 属性为动画起始时 y坐标上的位置
toydelta 属性为动画结束时 y坐标上的位置
注意:
没有指定fromxtype toxtype fromytype toytype 时候,
默认是以自己为相对参照物
长整型值:
duration 属性为动画持续时间
说明: 时间以毫秒为单位
-->
</set>
|
4. rotate 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<set xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<rotate
android:interpolator=
"@android:anim/accelerate_decelerate_interpolator"
android:fromdegrees=
"0"
android:todegrees=
"+350"
android:pivotx=
"50%"
android:pivoty=
"50%"
android:duration=
"3000"
/>
<!-- rotate 旋转动画效果
属性:interpolator 指定一个动画的插入器
在我试验过程中,使用android.res.anim中的资源时候发现
有三种动画插入器:
accelerate_decelerate_interpolator 加速-减速 动画插入器
accelerate_interpolator 加速-动画插入器
decelerate_interpolator 减速- 动画插入器
其他的属于特定的动画效果
浮点数型值:
fromdegrees 属性为动画起始时物件的角度
todegrees 属性为动画结束时物件旋转的角度 可以大于
360
度
说明:
当角度为负数——表示逆时针旋转
当角度为正数——表示顺时针旋转
(负数from——to正数:顺时针旋转)
(负数from——to负数:逆时针旋转)
(正数from——to正数:顺时针旋转)
(正数from——to负数:逆时针旋转)
pivotx 属性为动画相对于物件的x坐标的开始位置
pivoty 属性为动画相对于物件的y坐标的开始位置
说明: 以上两个属性值 从
0
%-
100
%中取值
50
%为物件的x或y方向坐标上的中点位置
长整型值:
duration 属性为动画持续时间
说明: 时间以毫秒为单位
-->
</set>
|
xml中使用动画效果 。
1
2
3
4
5
6
|
public
static
animation loadanimation (context context,
int
id)
//第一个参数context为程序的上下文
//第二个参数id为动画xml文件的引用
//例子:
myanimation= animationutils.loadanimation(
this
, r.anim.my_action);
//使用animationutils类的静态方法loadanimation()来加载xml中的动画xml文件
|
5、java代码中定义动画 。
1
2
3
4
5
6
7
8
9
10
11
12
|
//在代码中定义 动画实例对象
private
animation myanimation_alpha;
private
animation myanimation_scale;
private
animation myanimation_translate;
private
animation myanimation_rotate;
//根据各自的构造方法来初始化一个实例对象
myanimation_alpha =
new
alphaanimation(
0
.1f,
1
.0f);
myanimation_scale =
new
scaleanimation(
0
.0f,
1
.4f,
0
.0f,
1
.4f,
animation.relative_to_self,
0
.5f, animation.relative_to_self,
0
.5f);
myanimation_translate =
new
translateanimation(
30
.0f, -
80
.0f,
30
.0f,
300
.0f);
myanimation_rotate =
new
rotateanimation(
0
.0f, +
350
.0f,
animation.relative_to_self,
0
.5f,animation.relative_to_self,
0
.5f);
|
6、android 代码动画解析 。
1. alphaanimation 。
alphaanimation类对象定义 。
1. private alphaanimation myanimation_alpha,
alphaanimation类对象构造 。
1
2
3
4
5
6
7
|
alphaanimation(
float
fromalpha,
float
toalpha)
//第一个参数fromalpha为 动画开始时候透明度
//第二个参数toalpha为 动画结束时候透明度
myanimation_alpha =
new
alphaanimation(
0
.1f,
1
.0f);
//说明:
// 0.0表示完全透明
// 1.0表示完全不透明
|
设置动画持续时间 。
1
2
|
myanimation_alpha.setduration(
5000
);
//设置时间持续时间为 5000毫秒
|
2. scaleanimation 。
scaleanimation类对象定义 。
1
|
private
scaleanimation myanimation_scale;
|
scaleanimation类对象构造 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
scaleanimation(
float
fromx,
float
tox,
float
fromy,
float
toy,
int
pivotxtype,
float
pivotxvalue,
int
pivotytype,
float
pivotyvalue)
//第一个参数fromx为动画起始时 x坐标上的伸缩尺寸
//第二个参数tox为动画结束时 x坐标上的伸缩尺寸
//第三个参数fromy为动画起始时y坐标上的伸缩尺寸
//第四个参数toy为动画结束时y坐标上的伸缩尺寸
/*说明:
以上四种属性值
0.0表示收缩到没有
1.0表示正常无伸缩
值小于1.0表示收缩
值大于1.0表示放大
*/
//第五个参数pivotxtype为动画在x轴相对于物件位置类型
//第六个参数pivotxvalue为动画相对于物件的x坐标的开始位置
//第七个参数pivotxtype为动画在y轴相对于物件位置类型
//第八个参数pivotyvalue为动画相对于物件的y坐标的开始位置
myanimation_scale =
new
scaleanimation(
0
.0f,
1
.4f,
0
.0f,
1
.4f,
animation.relative_to_self,
0
.5f, animation.relative_to_self,
0
.5f);
|
设置动画持续时间 。
1
2
|
myanimation_scale.setduration(
700
);
//设置时间持续时间为 700毫秒
|
3. translateanimation 。
ranslateanimation类对象定义 。
1
|
private
translateanimation myanimation_translate;
|
translateanimation类对象构造 。
1
2
3
4
5
6
|
translateanimation(
float
fromxdelta,
float
toxdelta,
float
fromydelta,
float
toydelta)
//第一个参数fromxdelta为动画起始时 x坐标上的移动位置
//第二个参数toxdelta为动画结束时 x坐标上的移动位置
//第三个参数fromydelta为动画起始时y坐标上的移动位置
//第四个参数toydelta为动画结束时y坐标上的移动位置
|
设置动画持续时间 。
1
2
3
|
myanimation_translate =
new
translateanimation(10f, 100f, 10f, 100f);
myanimation_translate.setduration(
2000
);
//设置时间持续时间为 2000毫秒
|
4. rotateanimation 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
rotateanimation类对象定义
private
rotateanimation myanimation_rotate;
rotateanimation类对象构造
rotateanimation(
float
fromdegrees,
float
todegrees,
int
pivotxtype,
float
pivotxvalue,
int
pivotytype,
float
pivotyvalue)
//第一个参数fromdegrees为动画起始时的旋转角度
//第二个参数todegrees为动画旋转到的角度
//第三个参数pivotxtype为动画在x轴相对于物件位置类型
//第四个参数pivotxvalue为动画相对于物件的x坐标的开始位置
//第五个参数pivotxtype为动画在y轴相对于物件位置类型
//第六个参数pivotyvalue为动画相对于物件的y坐标的开始位置
myanimation_rotate =
new
rotateanimation(
0
.0f, +
350
.0f,
animation.relative_to_self,
0
.5f,animation.relative_to_self,
0
.5f);
|
设置动画持续时间 。
1
2
|
myanimation_rotate.setduration(
3000
);
//设置时间持续时间为 3000毫秒
|
如何java代码中使用动画效果 。
使用从view父类继承过来的方法startanimation()来为view或是子类view等等添加一个动画效果 。
1
2
3
4
5
|
public
void
startanimation (animation animation)
view.startanimation(myanimation_alpha);
view.startanimation(myanimation_scale);
view.startanimation(myanimation_translate);
view.startanimation(myanimation_rotate);
|
希望本文所述对大家android程序设计有所帮助.
最后此篇关于Android开发之Animations动画用法实例详解的文章就讲到这里了,如果你想了解更多关于Android开发之Animations动画用法实例详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想使用 linux 终端在 .txt 文档中找到字符串 animal-0**。 ** 是从 60 到 69 的数字。我想我必须在命令中使用 grep 和正则表达式:grep -E 'animal-0
在他的C# 深入一书中,Jon Skeet 试图回答以下问题: Why can't I convert List to List? 为了解释它,他从一个代码片段开始,其中包括以下两行: Animal[
我对此有点困惑,所以希望能提供一些说明。 public void addAll(List animals) 对比 public void addAll(List animals) 最佳答案 区别在于
我遇到的情况是,我有许多CALayer以“基于回合”的方式进行动画处理。我为每个CALayer上的位置设置了动画,但是它们具有完全相同的持续时间。一旦所有这些CALayer动画完成,就会启动一个新的“
我为正在拔出的刀和空闲状态设置了动画,但是无论我做什么,它们都不会在游戏中设置动画。相反,它卡住在第一帧上。这是动画窗口运行时的样子: 动画: 在检查器中: 最佳答案 我遇到了类似的问题,它归结于动画
我的单个 HTML 文件中嵌入了 2 个页面。所以它所做的是最初它显示 PAGE1,然后如果我从右向左或从左向右滑动 PAGE2 应该显示。我的问题是如何根据我的滑动更改页面动画?比如当我从右向左滑动
我想做一个动画标题。 我创建了一个 FlatList 的动画组件, 用过 onScroll函数来更新动画值。 使用绝对位置放置一个 View (Animated.View) 作为动画 FlatList
我想制作一个打开的窗帘的动画。我有两张图像:一张用于窗帘的左侧,一张用于窗帘的右侧(以红色表示)。我想用核心动画顺利地将它们滑走。我应该寻找什么类型的动画?如何实现逼真的滑动风格? 问候, 斯特凡 a
我有一个简单的旋转动画,可以让一个对象绕其轴旋转。目前它旋转得太快了,我想减慢速度,我试过增加样本??但我对动画了解不多,所以我可能过得很好。如何放慢动画速度?它只有两个键。 最佳答案 首先,通过双击
我似乎无法在上类时获得 angularjs ng-animate,而且在野外似乎也没有任何示例。以演示 fiddle 为例: http://jsfiddle.net/yfajy/ 向 CSS 添加如下
使用以下代码段:http://jsfiddle.net/sylouuu/V7a3Y/2/ 我想在动画的#log 中显示从 0% 到 100% 的进度百分比,100% 很容易通过回调... 有可能这样做
我正在 HTML 中使用 SVG 来使用折线工具定义特定的形状。我希望通过按一下按钮并在几秒钟内将特定形状的外观动画化为不同的形状。 我一直在考虑使用动画工具来更改折线点属性,但到目前为止一直无法找到
您好,在 Firefox(相当糟糕)和 Chrome 之间获得可变性能和效果(还可以)有时这不会执行第一个动画,有时会卡住。 我的结构正确吗? $notification.animate({
我在 iOS 编程时遇到了一个问题:当我尝试为我的 tableView 制作自定义编辑按钮时,我无法将其设置为动画。下面是我如何初始化 tableview: - (void)viewWillAppea
自 beta 5 以来,我注意到在 OS X 10.10 下隐式动画有一些奇怪的行为。调用动画代理有时会导致应用程序崩溃。我设置了一个非常简单的自定义 View 。这是完整的代码: import Co
我正在开发一个可折叠组件,您可以单击它来向上/向下滚动以显示/隐藏详细信息。组件如下: // component.ts import {Component, Directive, Input} fro
我正在努力了解 web animations standard和他们的 polyfill ,正如我所见,它在 Angular 动画库中运行良好(您将动画结束值设置为“*”,这将变为 div 大小的 1
我想创建一个动画闪屏,但出现此错误: Android.Content.Res.Resources+NotFoundException: File res/drawable/splash_screen.
我正在尝试对我的应用程序应用慢动作效果,就像按 Shift 时如何减慢 Mac OS 的大多数图形效果一样。 我的应用程序使用 CoreAnimation,所以我认为它应该没什么大不了的:set sp
我想以编程方式同时不在XML文件中显示两个动画,它应该 ROTATE和TRANSLATE 我怎样才能做到这一点? 请以某种方式建议我?????? 这是ma代码:> ImageView snowImg1
我是一名优秀的程序员,十分优秀!