Android开启动画之渐隐渐现效果
作者:small菜鸟 发布时间:2021-07-21 08:45:28
标签:Android,开启动画,渐隐渐现
启动某项程序时我们往往都能看到不同的“开机动画”,千变万化的动画也只不过是四种基本动画衍变美化而成的。
四种android动画效果:
alpha 渐变透明度动画效果
scale 渐变尺寸伸缩动画效果
translate画面转换位置移动动画效果
rotate 画面转移旋转动画效果
最简单的莫过于渐变透明效果,单单这一种就可完成渐隐渐现的动画效果(用于渐现渐隐的可以是整个欢迎页面也可以是欢迎页面里的一部分):
1)、 在res里新建anim文件夹用来盛放动画定义的动作文件:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="2000"/>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="3000"
android:duration="3000"/>
</set>
fromalpha即开始的透明度,toalpha即结束时的透明度,duration为时间(单位毫秒)。
2)、定义布局文件(layout):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:orientation="vertical" >
<ImageView
android:id="@+id/welcom_logo"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/welcome" />
</LinearLayout>
这里和以往没有任何不同,只需对要渐现渐隐的图片进行id标示。
3)、实现方法(Activity):
public class WelcomeActivity extends Activity implements AnimationListener {
private ImageView imageView = null;
private Animation alphaAnimation = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
imageView = (ImageView) findViewById(R.id.welcom_logo);
alphaAnimation = AnimationUtils.loadAnimation(this,
R.anim.welcome_alpha);
alphaAnimation.setFillEnabled(true);//启动Fill保持
alphaAnimation.setFillAfter(true);//设置动画的最后一帧是保留在view上的
imageView.setAnimation(alphaAnimation);
alphaAnimation.setAnimationListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_welcome, menu);
return true;
}
@Override
public void onAnimationEnd(Animation animation) {
//动画结束时结束欢迎页面并跳转到主页面
Intent intent=new Intent(this,GroupActivity.class);
startActivity(intent);
this.finish();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationStart(Animation animation) {
}
public boolean onKeyDown(int KeyCode,KeyEvent event){
//在欢迎页面屏蔽BACK键
if(KeyCode==KeyEvent.KEYCODE_BACK){
return false;
}
return false;
}
}
欢迎页面顾名思义只是装饰作用一闪而过不需要返回键进行操作。
来源:https://blog.csdn.net/duyuping/article/details/14124173


猜你喜欢
- sql语句CDATA标签的用法CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
- 字体池的应用,主要是为了解决字体不断创建导致句柄泄漏/内存泄漏的问题,这个问题在Android上也同样存在。经测试,C# WinForm原生
- 本文实例讲述了Java程序中实现调用Python脚本的方法。分享给大家供大家参考,具体如下:在程序开发中,有时候需要Java程序中调用相关P
- 本文实例讲述了Android实现点击AlertDialog上按钮时不关闭对话框的方法。分享给大家供大家参考。具体如下:开发过程中,有时候会有
- 1、取得控制台应用程序的根目录方法方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径方法
- 一、 HttpURLConnection以GET方式访问网络:HttpURLConnection connection = null;try
- Kotlin定义变量一般有如下写法lateinit var name: String var age: String? = null那么用l
- 解决@NotBlank不生效在项目开发中,发现一个类中包含有另外一个类,这种包含关系的类上的@NotBlank校验不生效,后来发现需要在内部
- 应用启动数据初始化接口CommandLineRunner和Application详解在SpringBoot项目中创建组件类实现Command
- 学习app对excel的读写控制1.界面设计<?xml version="1.0" encoding="
- 模板编程是idea的强大功能,也提高了开发人员的编程效率,比如输入main函数:public static void main(String
- 一.整型变量1.基本格式int 变量名 = 初始值;代码示例:public class CSDN {public static void m
- Knife4j就相当于是swagger的升级版,对于我来说,它比swagger要好用得多1、在pom.xml引入依赖包<!-- Swa
- 简介:本文将帮助您使用 Spring Boot 创建简单的 REST 服务。你将学习什么是 REST 服务?如何使用 Spring Init
- 什么是WebSocket WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间
- 本文主要带大家看看Object类中一些常用方法的API文档的介绍和JDK中的源码。1.equals方法1.API中equals方法的介绍2.
- android的快捷方式比较简单,就是发一个系统的广播,然后为快捷方式设置Intent---package com.xikang.andro
- 详解C#使用AD(Active Directory)验证内网用户名密码1. 连到内网,找到AD的domain地址nslookup set t
- Java 字节码以二进制的形式存储在 .class 文件中,每一个 .class 文件包含一个 Java 类或接口。Javaassist 就
- 我们在使用一些开源调度系统(比如:elastic-job等)的时候,对于任务的执行时间通常都是有规律性的,可能是每隔半小时执行一次,或者每天