摘要:本文将带你了解Android应用开发Android动画开发之淡入淡出、缩放、旋转、平移、组合动画效果代码实现,希望本文对大家学Android有所帮助。
本文将带你了解Android应用开发Android动画开发之淡入淡出、缩放、旋转、平移、组合动画效果代码实现,希望本文对大家学Android有所帮助。
1.activity_main.xml文件
<!-- 淡入淡出动画按钮直接调用Activity定义的alpha()方法 -->
<Button
android:id="@+id/btnAlpha"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="16dp"
android:layout_marginTop="22dp"
android:onClick="alpha"
android:text="淡入淡出" />
<!-- 利用软件自带的图片进行测试 -->
<ImageView
android:id="@+id/ivPic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@android:drawable/btn_star_big_off" />
<!-- 缩放动画按钮直接调用Activity定义的Scale()方法 -->
<Button
android:id="@+id/btnScale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btnAlpha"
android:layout_alignLeft="@+id/ivPic"
android:text="缩放"
android:onClick="Scale"
/>
<!-- 旋转动画按钮直接调用Activity定义的Rotate()方法 -->
<Button
android:id="@+id/btnRotate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnScale"
android:layout_alignBottom="@+id/btnScale"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@+id/btnScale"
android:text="旋转"
android:onClick="Rotate"
/>
<!-- 平移动画按钮直接调用Activity定义的Translate()方法 -->
<Button
android:id="@+id/btnTranslate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnAlpha"
android:layout_below="@+id/btnAlpha"
android:layout_marginTop="18dp"
android:text="平移"
android:onClick="Translate"
/>
<!-- 组合动画按钮直接调用Activity定义的Combo()方法 -->
<Button
android:id="@+id/btnCombo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnTranslate"
android:layout_alignBottom="@+id/btnTranslate"
android:layout_alignRight="@+id/ivPic"
android:text="组合动画"
android:onClick="Combo"
/>
2.MainActivity.java文件
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
public class MainActivity extends Activity {
//定义图片控件
private ImageView ivPic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取到activity_main.xml文件中的图片控件
ivPic = (ImageView) findViewById(R.id.ivPic);
}
/**
* 淡入淡出动画方法
*
* @param v
*/
public void alpha(View v) {
// 创建透明度动画,第一个参数是开始的透明度,第二个参数是要转换到的透明度
AlphaAnimation alphaAni = new AlphaAnimation(0.2f, 1);
//设置动画执行的时间,单位是毫秒
alphaAni.setDuration(1000);
// 设置动画结束后停止在哪个状态(true表示动画完成后的状态)
// alphaAni.setFillAfter(true);
// true动画结束后回到开始状态
// alphaAni.setFillBefore(true);
// 设置动画重复次数
// -1或者Animation.INFINITE表示无限重复,正数表示重复次数,0表示不重复只播放一次
alphaAni.setRepeatCount(10);
// 设置动画模式(Animation.REVERSE设置循环反转播放动画,Animation.RESTART每次都从头开始)
alphaAni.setRepeatMode(Animation.REVERSE);
// 启动动画
ivPic.startAnimation(alphaAni);
}
/**
* 缩放动画
*
* @param v
*/
public void Scale(View v) {
//参数1:x轴的初始值
//参数2:x轴收缩后的值
//参数3:y轴的初始值
//参数4:y轴收缩后的值
//参数5:确定x轴坐标的类型
//参数6:x轴的值,0.5f表明是以自身这个控件的一半长度为x轴
//参数7:确定y轴坐标的类型
//参数8:y轴的值,0.5f表明是以自身这个控件的一半长度为x轴
// Animation.RELATIVE_TO_SELF, 0.5f表示绕着自己的中心点进行动画
ScaleAnimation scaleAni = new ScaleAnimation(0.2f, 3.0f, 0.2f, 3.0f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
//设置动画执行的时间,单位是毫秒
&nbs
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号