使用动画属性来开发最简单的欢迎页(小白专属)

现在,每个App几乎都会有欢迎页。在业务层面来讲,欢迎页的功能主要是Logo的介绍,且是每次打开App都会自动出现。

在此先补充一下动画知识:

1、动画种类: Android动画有四大类,分别是AlphaAnimation、ScaleAnimation、TranslateAnimation和RotateAnimation,功能对照如下:

AlphaAnimation 渐变透明动画效果
ScaleAnimation 渐变缩放动画效果
TranslateAnimation 画面移动动画效果
RotateAnimation 画面旋转动画效果

2 、动画实现方式:动画实现方式有两种,分别是静态设置(xml)和动态设置(java代码)
3、动画模式:动画模式有两种,一种是渐变模式(AlphaAnimation、ScaleAnimation),一种是画面模式(TranslateAnimation、RotateAnimation)。

明确一下具体实现步骤:

第一步:导入图片资源,将已经设计好的图片加载到drawable文件夹下面。(其实在企业中正常要导入mipmap文件夹下面)

第二步:创建新的welcomeActivity,并修改布局文件。

第三步:实现动画效果,并在注册表中将欢迎页设置为第一页。

具体实现如下:

第一步在此省略。
第二步:创建welcomeActivity,并修改布局文件,布局代码如下:

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

    <ImageView
        android:id="@+id/welcomeImv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/welcomepage"
        android:layout_gravity="center_horizontal"/>

</LinearLayout>

第三步:使用ObjectAnimator实现动画效果

package com.example.myuniversity;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

public class WelcomeActivity extends AppCompatActivity {

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

    private void initView(){
        //找到执行动画的视图
        ImageView welcomeImv = findViewById(R.id.welcomeImv);
//执行动画的对象,动画的类型:平移动画、渐变动画(此处)、缩放动画、旋转动画
//平移动画 translationY   translationX
//渐变动画alpha
//缩放动画scalseX scalseY
//旋转动画rotationX rotationY
//0.2f:动画开始的位置
//1.0f:动画结束的位置
        ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(welcomeImv,"alpha",0.2f,1.0f);
        //动画执行时间
        objectAnimator.setDuration(2000);
        //开始执行动画
        objectAnimator.start();

        //跳转界面:由欢迎页面进入主页面,因此添加动画监听器(这里采用适配器模式)
        objectAnimator.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationEnd(animation);
                startActivity(new Intent(WelcomeActivity.this,MainActivity.class));
                finish();
            }
        });
    }
}

此处需要说一点的是finish();这个方法,如果此处不将此Activity销毁,可能会出现的情况是,当你退出主页面,以为退出App的时候,会退到欢迎页面上。所以在Intent跳转的时候,要将欢迎页销毁。

在注册表中,将welcome设置为第一页:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".WelcomeActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity"/>
 </application>

至此全部完成,效果图如下:
这里写图片描述

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值