Android ainmation(三.scale and translate)

1. scale :缩放

实现效果:



在res文件夹下新建文件夹anim下新建XML文件

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="100%"
    android:toXScale="50%"
    android:fromYScale="100%"
    android:toYScale="50%"
    android:pivotY="50%"
    android:pivotX="50%"
    android:duration="1000"
    android:fillAfter="true"></scale>


scale属性:

android:fromXScale="100%" (图片里X坐标开始的缩放比)

android:toXScale="50%"   (图片里X坐标结束的缩放比)

android:fromYScale="100%" (图片里Y坐标开始的缩放比)

android:toYScale="50%"   (图片里Y坐标结束的缩放比)

android:pivotY="50%"  (动画结束时图片的Y坐标位置)

android:pivotX="50%" (动画结束时图片的X坐标位置)

android:duration="1000" (执行时长)

android:fillAfter="true" (是否保留动画结束状态)


2. translate:移动

实现效果:



同上在anim文件夹下新建XML文件

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"
    android:toXDelta="50%"
    android:fromYDelta="0"
    android:toYDelta="30%"
    android:duration="1000"
    android:fillAfter="true"></translate>


translate属性:

android:fromXDelta="0" (图片在界面开始移动时的X坐标)

android:toXDelta="50%"(图片在界面结束移动是的X坐标)

android:fromYDelta="0" (图片在界面结束移动是的Y坐标)

android:toYDelta="30%"(图片在界面结束移动是的Y坐标)

android:duration="1000" (执行时长)

android:fillAfter="true" (是否保留动画结束时的状态)



两个效果一起实现的代码如下:

package com.example.g160628_android_17_animation;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    private ImageView imageView;
    private Button alpha;
    private Button rotate;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView = (ImageView) findViewById(R.id.main_image);
    }

    public void operation(View view){
        switch (view.getId()){
            case R.id.but_main_scale:
               Animation animation2=AnimationUtils.loadAnimation(this,R.anim.iv_scale);
                imageView.startAnimation(animation2);
                break;
            case R.id.but_main_translate:
               Animation animation3= AnimationUtils.loadAnimation(this,R.anim.iv_translate);
                imageView.startAnimation(animation3);
                break;
        }

    }
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值