初学Android,使用Drawable资源之使用AnimationDrawable资源(十七)

news/2024/7/4 5:15:26 标签: android, layout, button, encoding, animation, image

这次学学怎么使用动画资源,AnimationDrawable,同样要定义一个相关的xml动画文件,要放在路径/res/anmi下,当创建一个Android应用时,默认不会创建该文件夹,需要自己手动创建.

动画分为逐帧动画(像电影一样,一张一张的播放)和补间动画(平移,旋转,缩放,位移),

关于动画的内容还是有点多,这次我只学一点,就是怎么定义和使用动画资源

补间动画可以有4个动作

alpha: 设置透明度的改变

scale:    设置图片进行缩放改变

translate: 设置图片进行位移变换

rotate:设置图片进行旋转

下面以补间动画为例,根元素为<set .../>,在路径/res/anmi下定义一个动画文件my_anim.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator">
    <!-- 缩放变换 -->
    <scale android:fromXScale="1.0"
        android:toXScale="1.4"
        android:fromYScale="1.0"
        android:toYScale="0.6"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fillAfter="true"
        android:duration="2000" />
    <!-- 定义位移变换 -->
    <translate android:fromXDelta="10"
        android:toXDelta="130"
        android:fromYDelta="30"
        android:toYDelta = "-80"
        android:duration="2000" />
</set>
下面是主界面main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/fengjing" />

    <Button
        android:id="@+id/bn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>
在代码中调用动画资源

package WangLi.Resource.AnimationDrawableTest;

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;
import android.widget.ImageView;

public class AnimationDrawableTest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final ImageView image = (ImageView)findViewById(R.id.image);
        final Animation anim = AnimationUtils.loadAnimation(this, R.anim.my_anim);
        //设置动画结束后保留结束状态
        anim.setFillAfter(true);
        Button bn = (Button)findViewById(R.id.bn);
        bn.setOnClickListener(new OnClickListener(){
        	public void onClick(View arg0)
        	{
        		image.startAnimation(anim);
        	}
        });
    }
}
动画开始前


点击按钮,动画结束后,图片得到缩放,并且位移





http://www.niftyadmin.cn/n/1411407.html

相关文章

什么是开源以及我的开源经验

国内的很多软件公司或研究机构对开源的热情仅限于免费的代码&#xff0c;而绝少深度参与开源社区的活动。我们对于开源始终是利用多&#xff0c;而贡献少&#xff0c;从国内发起的有 一定影响力的开源项目如果不是完全没有&#xff0c;恐怕也是凤毛麟角。我们是如此的吝啬&…

React教程(二)——jsx语法、条件渲染、列表渲染

1、JSX 语法 在react中&#xff0c;就是使用jsx的语法&#xff0c;来实现DOM元素的展示。一个基本的jsx语法的react模板如下&#xff1a; <div>{this.props.title}</div> 这种方式的本质是&#xff1a;在html中嵌入js表达式&#xff01;&#xff01; 那到底编译…

初学Android,使用自定义的XML资源(十八)

使用自定义的XML资源&#xff0c;这当然也必须是Android的一个功能,Java开发者可以使用DOM,SAX等多种方式,Android内建了Pull来解析XML 那么我个人觉得在Android中还是使用它的内建解析方法比较好,使用其它方式还要下载它们的Jar包,还是挺麻烦的&#xff0e;同样的,和动画资源一…

CAShapeLayer的简单介绍以及基本使用

1.CAShapeLayer简单介绍 1.1CAShapeLayer继承于CALayer,能够使用CALayer的全部属性值&#xff1b; 1.2CAShapeLayer须要贝塞尔曲线配合使用才有意义&#xff08;也就是说才有效果&#xff09; 1.3使用CAShapeLayer(属于CoreAnimation)与贝塞尔曲线能够实现不在view的drawRect&a…

初学Android,使用菜单资源(十九)

Android里面也可用XML定义菜单资源&#xff0c;菜单分两种&#xff0c;一种是OptionMenu(点系统"Menu"键出来)&#xff0c;一种是ContextMenu 下面定义两种菜单XML到res\menu文件夹下 my_menu为OptionMenu<?xml version"1.0" encoding"utf-8"…

React教程(三)——样式和图片加载问题

1、样式 样式是一个界面的展示问题的核心&#xff0c;在样式方面&#xff0c;react和一般的web网页的区别还是挺大的。 第一、在react中&#xff0c;不使用class属性来添加样式&#xff0c;而是使用className属性。 第二、在react中&#xff0c;它的内联对象是使用对象的方式…

向页面添加富文本编辑器

首先添加一个textarea&#xff1a; 1 <tbody id"tab_3" style"display: none"> 2 <tr> 3 <td > 4 <textarea rows"20" cols"180" id"product…

初学Android,使用样式(style)资源(二十)

在Android里面&#xff0c;样式的概念跟网页中CSS样式表的概念相似&#xff0c;并且样式之间也可以继承 下面为两个文本框定义样式&#xff0c;创建一个my_style.xml文件放在res/values文件夹下&#xff0c;注意样式文件的根元素是resouces<?xml version"1.0" en…