`
肖福燕
  • 浏览: 12074 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

图形与动画在Android中的实现

阅读更多
1、简单图形的绘制
       
        canvas.drawColor(Color.BLUE);

        Paint paint = new Paint();
        paint.setColor(Color.RED);
        canvas.drawRect(10, 10, 110, 110, paint);
        canvas.drawText("This is text", 10, 130, paint);

        RectF rf1 = new RectF(10, 130, 110, 230);
        canvas.drawArc(rf1, 0, 45, true, paint);
        canvas.drawLine(150, 10, 250, 110, paint);
        RectF rf2 = new RectF(150, 130, 250, 230);
        canvas.drawOval(rf2, paint);

2、自定义动画的播放
  Android中主要有两种动画模式,一种是tweenedanimation(渐变动画),即通过对场景的对象不断做图像变换产生动画效果;另一种是framebyframe(帧动画),即按照顺序播放事先配置好的动画帧。下面主要是渐变动画的应用。
  首先创建动画文件donghuaanim.xml:

 
<?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="2000"/>

    <!-- 尺寸变换 -->
    <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="3000"/>

    <!-- 位置变换 -->
    <translate
        android:fromXDelta="30"
        android:toXDelta="0"
        android:fromYDelta="30"
        android:toYDelta="50"
        android:duration="4000"/>

    <!-- 旋转变换 -->
    <rotate
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromDegrees="0"
        android:toDegrees="+350"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="5000"/>

</set>

  添加布局文件donghua_xml.xml:
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/imageView"
        android:src="@mipmap/image"/>

</LinearLayout>

  添加DonghuaActivity.java文件:
 
package xiao.fuyan.testapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

/**
 * Created by xiao on 2017/1/10.
 */
public class DonghuaActivity extends Activity {
    Animation animation;
    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.donghua_xml);

        animation = AnimationUtils.loadAnimation(this, R.anim.donghuaanim);

        imageView = (ImageView) findViewById(R.id.imageView);
        imageView.startAnimation(animation);
    }
}

分享到:
评论

相关推荐

    Android中使用SVG实现炫酷动画效果

    本文将详细介绍如何在Android应用中使用SVG来实现炫酷的动画效果。 1. **SVG基础知识** SVG是一种基于XML的图形语言,它定义了形状、路径、文本、渐变、透明度等元素,可以创建复杂的图形。SVG文件由一系列指令...

    android SurfaceView实现人物动画

    在这个“android SurfaceView实现人物动画”的示例程序中,我们将深入探讨如何利用SurfaceView来创建流畅的人物动画。 1. **SurfaceView基本概念** SurfaceView是一个可以独立于应用程序主线程更新的视图,它有...

    android实现直播点赞飘心动画效果.zip

    在Android开发中,实现直播点赞飘心动画效果是一项常见的需求,尤其在社交和娱乐类应用中。本项目涉及的关键知识点主要包括Android图形动画、自定义View、事件处理以及UI设计。 首先,我们需要理解Android中的动画...

    Android加载中转圈动画效果

    在本文中,我们将深入探讨如何在Android中实现这样的加载中转圈动画效果。 首先,Android提供了多种内置的动画资源,例如`ProgressBar`类,它支持多种样式,包括旋转(旋转进度条)动画。`ProgressBar`有`...

    Android翻页动画效果完整实例代码

    在Android开发中,实现引人入胜的用户体验是至关重要的,而翻页动画效果就是其中一种可以提升用户交互感的视觉技巧。本实例代码着重展示了如何在Android平台上创建逼真的翻页动画,使得应用程序看起来更加生动有趣。...

    Android下 实现折纸动画效果

    在实现过程中,还可能使用了`PropertyAnimator`来平滑地改变视图的旋转角度、缩放比例和Y轴偏移量,以模拟折叠效果。同时,可能还会用到`Interpolator`来控制动画的速度曲线,使动画更自然流畅。 为了优化性能,...

    Android实现Layout UI 首页加载过渡动画,星期变化动画_android源码.zip

    在实现过渡动画时,关键在于合理地控制动画的时间轴和关键帧。使用`AnimatorSet`,我们可以组合多个动画并按顺序或同时播放,以实现更复杂的动画效果。此外,`Animatable`接口提供了一种在图形视图上执行动画的方法...

    android 炫酷动画柱状图例子

    在Android开发中,为了使应用更具吸引力和交互性,炫酷的动画和视觉效果是必不可少的。本示例聚焦于创建一个"android 炫酷动画柱状图例子",它打破了Android原生图表控件的限制,通过结合HTML5和JavaScript的力量,...

    android实现点赞动画

    在Android应用开发中,为了提升用户体验,经常需要添加各种丰富的动画效果。点赞动画就是其中一种常见且有趣的交互设计,它可以增强用户与应用的互动性,让应用更具吸引力。本篇文章将详细探讨如何在Android平台上...

    android Tween动画的xml实现

    在Tween动画中,我们可以结合Vector Drawable创建出更复杂的图形动画效果,例如按钮按下时的图标变化。 总结,Tween动画通过XML在Android中实现了丰富的视觉效果,包括平移、缩放、旋转和透明度变化等。开发者可以...

    Android-Android上的Triangulation动画

    这篇文章将深入探讨这个主题,包括Android动画基础、SVG三角剖分的概念以及如何在Android应用中实现这种动画效果。 首先,我们来理解Android的动画系统。Android提供了多种动画机制,包括属性动画(Property ...

    Android贝塞尔曲线实现粘性动画

    在Android开发中,为了创建出丰富、流畅的用户体验,开发者经常需要用到动画效果。...而"Android贝塞尔曲线实现粘性动画"这一主题,就是将理论知识与实践操作相结合,帮助开发者实现类似QQ未读消息的动画效果。

    [Android][ViewOverlay上实现动画]

    在实现动画之前,我们先要创建一个ViewOverlay实例。这通常是在Activity或Fragment的onCreate()或onResume()方法中完成,因为ViewOverlay依赖于窗口(Window)的生命周期。例如: ```java ViewOverlay overlay = ...

    基于Android的迷你桌球游戏设计与实现

    在本项目中,“基于Android的迷你桌球游戏设计与实现”是一个典型的移动应用开发实例,主要涉及了Android平台上的游戏开发技术。这个项目不仅提供了源代码,还包含了毕业设计论文,使得学习者能够深入理解整个开发...

    Android-Android图形化展示排序算法

    在Android应用中实现图形化排序算法,首先需要了解各种基本的排序算法,例如冒泡排序、选择排序、插入排序、快速排序、归并排序以及堆排序等。这些算法各有特点,如冒泡排序的时间复杂度为O(n^2),适用于小规模数据...

    Android 6.0 Launcher3 增加屏幕切换动画

    在Android系统中,Launcher是用户与设备交互的主要入口,它负责显示桌面、应用程序快捷方式以及小部件。在Android 6.0(Marshmallow)版本中,开发者对Launcher3进行了重大改进,其中包括引入了新的屏幕切换动画,...

    Android 翻转动画 ,像硬币一样的翻转动画

    总结起来,实现Android中的硬币翻转动画,需要创建补间动画XML文件,定义翻转前后状态,然后在代码中加载动画并设置监听器来控制动画的循环播放。同时,添加点击事件监听器可以进一步定制交互行为,为用户提供更丰富...

    Android 画布Canvas之连线动画Demo

    在这个"Android画布Canvas之连线动画Demo"中,我们将深入探讨如何利用Canvas实现动态的连线动画效果,包括控制动画速度、线条颜色和线宽。 首先,我们要理解Canvas的基本绘图操作。`Canvas`提供了如`drawLine()`、`...

    Android游戏中动画的实现

    接下来,我们将深入探讨`SurfaceView`以及如何在Android游戏中实现动画。 1. **SurfaceView的基本概念**: - `SurfaceView`是一个可以在窗口上创建一个独立于应用程序主UI线程的显示区域的视图。 - 它包含一个`...

    Android-Svg动画播放

    通过工具如vmde将PNG转换为SVG,然后结合Android的VectorDrawable或第三方库在应用中实现SVG的显示与动画。这不仅可以提升视觉体验,也有助于提高应用性能。在实际开发中,根据项目需求选择合适的方法,是优化SVG...

Global site tag (gtag.js) - Google Analytics