看到了一个动画,推荐!
今天记录一下我学Android 的动画设计实验,处理的对象是一个文本字符串。
Ready, Go!
Step1 界面布局:依然是layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/text"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/rotate"
android:text="Rotate"
android:layout_alignParentBottom="true"
>
</Button>
</RelativeLayout>
加入了一个文本视图(屏幕居中)和一个控制按钮(放置在屏幕底部)
另外一个重要的工作时加入一个创建动画属性配置文件,从网上搞到一个牛人的配置文件,很详细,贴一下http://blog.csdn.net/zhqingyun163/archive/2009/11/05/4770068.aspx。
(这里的工作是创建动画配置文件ani_rotate.xml,创建位位置:res文件夹下创建anim/ani_rotate.xml)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--
Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效
Alpha:渐变透明度动画效果
Scale:渐变尺寸伸缩动画效果
Translate:画面转换位置移动动画效果
Rotate:画面旋转动画效果
Tween Animation 通用属性[类型] 功能
Duration[long] 属性为动画持续时间 时间以毫秒为单位
fillAfter [boolean] 当设置为true ,该动画转化在动画结束后被应用
fillBefore[boolean] 当设置为true ,该动画转化在动画开始前被应用
interpolator 指定一个动画的插入器 有一些常见的插入器
accelerate_decelerate_interpolator
加速-减速 动画插入器
accelerate_interpolator
加速-动画插入器
decelerate_interpolator
减速- 动画插入器
其他的属于特定的动画效果
repeatCount[int] 动画的重复次数
RepeatMode[int] 定义重复的行为 1:重新开始 2:plays backward
startOffset[long] 动画之间的时间间隔,从上次动画停多少时间开始执行下个动画
zAdjustment[int] 定义动画的Z Order的改变 0:保持Z Order不变
1:保持在最上层
-1:保持在最下层
-->
<!--
透明控制动画
-->
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="3000"
/>
<!-- 尺寸伸缩动画效果 scale
属性:interpolator 指定一个动画的插入器
有三种动画插入器:
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 ,该动画转化在动画结束后被应用
-->
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:repeatCount="1"
android:fromXScale="0.5"
android:fromYScale="0.5"
android:toXScale="1.4"
android:toYScale="1.4"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="3000"
/>
<!--
画面转换位置移动动画效果 translate
fromXDelta toXDelta 为动画、结束起始时 X坐标上的位置
fromYDelta toYDelta 为动画、结束起始时 Y坐标上的位置
-->
<translate
android:repeatCount="2"
android:fromXDelta="-30"
android:fromYDelta="-30"
android:toXDelta="-80"
android:toYDelta="200"
android:duration="3000"
/>
<!--
画面转移旋转动画效果 rotate
fromDegrees 为动画起始时物件的角度 说明
当角度为负数——表示逆时针旋转
当角度为正数——表示顺时针旋转
(负数from——to正数:顺时针旋转)
(负数from——to负数:逆时针旋转)
(正数from——to正数:顺时针旋转)
(正数from——to负数:逆时针旋转)
toDegrees 属性为动画结束时物件旋转的角度 可以大于360度
pivotX
pivotY 为动画相对于物件的X、Y坐标的开始位 说明:以上两个属性值 从0%-100%中取值
50%为物件的X或Y方向坐标上的中点位置
-->
<rotate
android:interpolator="@android:anim/accelerate_interpolator"
android:repeatCount="2"
android:fromDegrees="0"
android:toDegrees="+270"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
/>
</set>
Step 2 Java控制代码:
package com.penguin7.animationtest;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
public class AnimationTest extends Activity implements OnClickListener{
private Button bntRotate = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取按键资源
bntRotate = (Button) findViewById(R.id.rotate);
//启动按键监听
bntRotate.setOnClickListener(this);
}
@Override
public void onClick(View v){
//定义动画属性
Animation ani = AnimationUtils.loadAnimation(this, R.anim.ani_rotate);
//启动动画
findViewById(R.id.text).startAnimation(ani);
}
}
Step 3 看看效果:
启动画面:
动画截屏:
分享到:
相关推荐
Android API 中文文档 Android API 中文文档 Android API 中文文档 Android API 中文文档 Android API 中文文档 Android API 中文文档 Android API 中文文档 Android Android API 中文文档 中文文档Android API ...
androidandroid api中文版android api中文版android api中文版android api中文版android api中文版android api中文版android api中文版
每个级别的API对应Android的一个特定版本,随着版本的更新,会添加新的功能或改进现有功能。 2. **类库**:API文档详尽列出了Android系统提供的所有核心类库,如Activity、Intent、BroadcastReceiver等。这些类库是...
Android官方API离线版是一个非常宝贵的资源,它包含了大量的Android开发所需的信息,使得开发者无需互联网连接也能查阅Android的API文档。这个压缩包提供的是`.chm`格式的文件,这是一种由微软开发的帮助文件格式,...
"Android API中文版查询合集"是一个宝贵的资源,它为开发者提供了官方API的中文翻译,使得理解与使用Android API变得更加便捷。 这个合集可能包括了Android各个版本的API文档,从早期的API Level 1一直到最新的API ...
SDK Platform Android-API-29(Android 10)是Android操作系统的一个重要组成部分,它是开发者用于构建、测试和调试针对Android 10版本应用的关键工具。这个压缩包包含了Android 10的所有系统库、头文件、资源和其他...
《Android官方API文档完整版2017》是Android开发者不可或缺的重要参考资料,它详细记录了Android平台的各种API接口、类库、方法以及相关的使用指南。这份文档覆盖了Android开发的各个方面,包括系统服务、UI框架、...
总的来说,这份"Android API 至今算完整的版本(中文版)"对于想要在Android平台上进行软件开发的人员来说,是一份非常宝贵的参考资料。它涵盖了从基础到高级的API知识,可以帮助开发者在理解API的基础上,编写出...
API文档(Reference)是Android开发的基础,三年来(2007-2010)官方仍未出中文版的API,Android中文翻译组聚一批从事Android开发人员、论坛版主、大学生、研究生等Android爱好者,利用业余时间对Android的API进行翻译,...
Android API文档是Android开发者不可或缺的参考资料,它详细阐述了Android操作系统各版本的API接口、类库、方法以及各种工具的使用。这份文档包含了中文版和英文官方版,为不同语言背景的开发者提供了便利,能够更好...
Android中文翻译组是一个非盈利性质的开源组织,聚一批开发人员、大学生、研究生等Android爱好者,利用业余时间对Android相关的API及开发者指南等进行翻译,至今已超过200人报名参与,欢迎加入,联系Mail:over140@...
3. **API Level**:用于表示Android系统的版本号,每个API Level对应一个具体的Android版本,如API Level 1对应的是Android 1.0版本。随着新功能的加入,API Level也会不断递增。 #### 三、Android SDK、NDK与API ...
Documentation for Android SDK(API 19) Android SDK 官方使用说明文档,对应Android 4.4.2 开发库。 由Android SDK manager下载得到,因官网时常被墙,小伙伴们且用且珍惜。 系列文件共分4个压缩文件: ...
《Android APIs Reference API Level1~API Level19离线版》是Android开发者极其重要的参考资料,它包含了从Android系统最初版本到API Level 19(KitKat)的所有API接口和技术细节。这个离线文档集合不仅避免了网络...
实验一的目标是让初学者熟悉Android开发环境,掌握创建Android项目的方法,以及理解Android模拟器的创建。以下是对实验内容的详细解释: 1. Android开发环境的认识: - Android SDK目录:SDK包含了一系列工具、库...
android4.2.2 的api demo
下载了好久,Google太坑爹了,给网友用吧,一共两个压缩包,一起解压就可以了!全英的文档!原装自带的文档,相当不错的!
android api android api android api android api android api android api android api android api
Android API19 docs英文帮助文档,百度网盘下载
1. **API级别25**:API级别是Android操作系统版本的一个标识符,API 25对应于Android 7.1.1。开发者需要确保他们的应用支持目标API级别,以便在兼容性设备上运行。API 25引入了一些新的API接口和功能,例如通知渠道...