您的位置:首页 > 移动开发 > Android开发

Android开发笔记--关于Android动画

2016-06-27 17:23 405 查看
在朋友的建议下,开始尝试总结自己项目中遇到的问题和解决办法,第一篇就从最近用到的Android动画效果说起吧!

首先在Android中 的动画效果:1、补间动画;2、帧动画 3、属性动画

补间动画:Tween动画,即通过对控件进行一系列的图形变换来实现的动画效果(主要是平移,旋转,缩放,改变透明度四种效果组合)其中参考链接http://www.cnblogs.com/aimeng/archive/2011/10/10/2206710.html

Animations:实现了控件的动画效果,主要有旋转,缩放,淡入淡出,,平移

Tweened Animations:继承自Animations,实现了Alpha淡入淡出效果,Scale缩放效果,Rotate旋转效果,Translate移动效果.

使用方法:

 Android动画解析--XML

<alpha>

  <scale>

  <translate>

  <rotate>

  如何使用XML中的动画效果

  [b]如何在Java代码中定义动画[/b]

  Android动画解析--JavaCode

Alpha[b]Animation[/b]

① AlphaAnimation类对象定义

  ② AlphaAnimation类对象构造

  ③ 设置动画持续时间

  Scale[b]Animation[/b]

① ScaleAnimation类对象定义

  ② ScaleAnimation类对象构造

  ③ 设置动画持续时间

  Translate[b]Animation[/b]

① TranslateAnimation类对象定义

  ② TranslateAnimation类对象构造

  Rotate[b]Animation[/b]

① RotateAnimation类对象定义

  ② RotateAnimation类对象构造

  ③ 设置动画持续时间

实际效果例子:(旋转效果配合缩放效果显示)

xml文件:
<?xml version="1.0" encoding="utf-8"?>

<!-- 弹出时动画 -->

<set xmlns:android="http://schemas.android.com/apk/res/android" >

<!-- 旋转效果 -->

<rotate

android:duration="400"

android:fromDegrees="0"

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:pivotX="50%"

android:pivotY="50%"

android:toDegrees="+350" />

<!-- 缩放效果 -->

<scale

android:duration="400"

android:fillAfter="false"

android:fromXScale="1.0"

android:fromYScale="0.0"

android:interpolator="@android:anim/accelerate_interpolator"

android:pivotX="0%"

android:pivotY="0%"

android:toXScale="1.0"

android:toYScale="1.0" />

</set>

在activity中调用添加了动画效果的activity
public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

public void doClick(View view) {

switch (view.getId()) {

case R.id.btn_main:

dialog();

break;

default:

break;

}

}

private void dialog() {

GuideDialog dialog = new GuideDialog(MainActivity.this);

dialog.setCancelable(true);

dialog.show();

}

}

在Dialog中添加动画
public class GuideDialog extends Dialog {

private Activity activity;

public GuideDialog(Activity activity) {

super(activity, android.R.style.Theme);

this.activity = activity;

setOwnerActivity(activity);

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);// 填充标题栏

setContentView(R.layout.progressdialog_guide);

Window window = getWindow();

window.setWindowAnimations(R.style.dialogWindowAnim); // 设置窗口弹出动画

}

}

例子下载地址:http://download.csdn.net/detail/wangyetongsss/9561043
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: