Android应用开发:动画和Fragment

本文详细介绍了Android中的帧动画FrameAnimation、补间动画包括透明、位移、缩放和旋转,以及属性动画的各种操作,同时探讨了Fragment的生命周期和低版本兼容。通过实例演示了各种动画效果的实现,帮助开发者深入理解Android应用开发中的动画和Fragment使用。
摘要由CSDN通过智能技术生成

帧动画FrameAnimation

  • 多张图片快速切换,形成动画效果
  • 帧动画使用xml定义
  • frame动画是放置到res/drawable/下面,在这里定义要显示的图片和每张图片的显示时长
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
            <item android:drawable="@drawable/g1" android:duration="200" />
            <item android:drawable="@drawable/g2" android:duration="200" />
            <item android:drawable="@drawable/g3" android:duration="200" />
</animation-list>
  • 在屏幕上播放帧动画
ImageView iv = (ImageView) findViewById(R.id.iv);
    //把动画文件设置为imageView的背景
 iv.setBackgroundResource(R.drawable.animations);
 AnimationDrawable ad = (AnimationDrawable) iv.getBackground();
    //播放动画
    ad.start();
public class MainActivity extends Activity {
   

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

        ImageView iv = (ImageView) findViewById(R.id.iv);
        //把帧动画的资源文件指定为iv的背景
        iv.setBackgroundResource(R.drawable.frameanimation);
        //获取iv的背景
        AnimationDrawable ad = (AnimationDrawable) iv.getBackground();
        ad.start();
    }
}

补间动画

  • tween动画是放置到res/anim/下面
  • 组件由原始状态向终极状态转变时,为了让过渡更自然,而自动生成的动画

1、透明动画AlphaAnimation

  • AlphaAnimation aa = new AlphaAnimation(0, 0.5f);
    • 0表示动画的起始透明度
    • 0.5f表示动画的结束透明度
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromAlpha="0.0" 开始透明度的值,完全不透明
    android:toAlpha="1.0"   结束透明度的值,完全透明
    android:duration="2000"
    android:repeatCount="0" 动画效果重复几次
    android:repeatMode="restart" 动画效果重复的模式 参数有重新开始和倒着执行的模式
    android:interpolator="@android:anim/decelerate_interpolator"减速加速器
    >
</alpha>

2、位移动画TranslateAnimation

TranslateAnimation ta = new TranslateAnimation(10, 100, 20, 200);
  • 10:表示的x坐标起始位置

    • iv的真实x + 10
  • 100:表示x坐标的结束位置

    • iv的真实x + 100
  • 20:表示y坐标的起始位置

    • iv的真实y + 20
  • 200:表示y坐标的结束位置

    • iv的真实y + 200
TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 3, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 2);
  • Animation.RELATIVE_TO_SELF, 1:x坐标的初始位置

    • iv的真实x + 1 * iv宽
  • Animation.RELATIVE_TO_SELF, 0.5f:y坐标的起始位置

    • iv的真实y + 0.5 * iv高
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fromXDelta="0"  开始像素
    android:toXDelta="100"  水平平移结束像素
    android:fromYDelta="0"
    android:toYDelta="100"
    android:startOffset="1000" 动画开始时间 1秒之后开始播放动画
    >

</translate>
  • 动画播放相关的设置
//设置动画持续时间
ta.setDuration(2000);
//动画重复播放的次数
ta.setRepeatCount(1);
//动画重复播放的模式
ta.setRepeatMode(Animation.REVERSE);
//动画播放完毕后,组件停留在动画结束的位置上
ta.setFillAfter(true);
//播放动画
iv.startAnimation(ta);

3、缩放动画ScaleAnimation

ScaleAnimation sa = new ScaleAnimation(0.5f, 2, 
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值