【安卓开发 】Android初级开发(三)动画

逐帧动画

方法一,在xml中设置

1.先将图片加入drawable

2.在drawable中新建xml,设置每一帧的图片和时间

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/frame_1"
        android:duration="100" />
    <item
        android:drawable="@drawable/frame_2"
        android:duration="100" />
    <item
        android:drawable="@drawable/frame_3"
        android:duration="100" />
</animation-list>

3。在主布局中添加view并且背景设置为刚才创建的xml

    <View
        android:id="@+id/view"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:background="@drawable/drawables"
        tools:ignore="MissingConstraints"
        tools:layout_editor_absoluteX="55dp"
        tools:layout_editor_absoluteY="103dp">
    </View>

4.onclick中代码中加入

private AnimationDrawable animationDrawable;

View view = findViewById(R.id.view);

animationDrawable = (AnimationDrawable) view.getBackground();

//启动
animationDrawable.start();

//暂停
animationDrawable.stop();
//只演示一次
animationDrawable.setOneShot(true);

 视图动画

Activity公共部分

​
    public void onClick(View view)
    {
        switch (view.getId())
        {
            case R.id.viewAlphaAnimation:
                Animation animation= AnimationUtils.loadAnimation(this,R.anim.alpha);
                view.startAnimation(animation);
                break;
        }
    }

​

1.透明度动画

1.先在res资源中建立一个anim文件夹,注意Android Studio 不允许添加除anim,drawable,layout,values,xml,raw之外的资源文件夹。

2.建立一个新的文件

3.添加相关信息

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
    android:duration="1000"
    android:fromAlpha="1.0"
    android:toAlpha="0.1"
    />
</set>

 

缩放动画

xml文件

<?xml version="1.0" encoding="utf-8"?>
<!--android:fillAfter="true":缩放后停止
  android:duration="1000":时间
  基准点,基准线是本控件的左边界为主,p相对于父控件的左边界
  android:pivotX=""
  android:pivotY=""
  -->
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fillAfter="true">
<scale
    android:fromXScale="1.0"
    android:toXScale="2.0"
    android:fromYScale="1.0"
    android:toYScale="1.0"
    android:pivotX="100%"
    android:pivotY="0"
    />
</set>

 

位移动画

<?xml version="1.0" encoding="utf-8"?>
<!--android:fromXDelta 相对于左边界的偏移-->
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fillAfter="true">
<translate
    android:fromXDelta="0"
    android:toXDelta="100%"
    android:fromYDelta="0"
    android:toYDelta="0"
    />
</set>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页
实付 99.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值