Activity的淡入淡出+滑动+手划屏幕滑动的一个示例

android中activity切换淡入淡出效果,以及四个方向的进出效果 首先,在anim目录下创建fade_in.xml(淡入)资源文件,内容为: xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android"> 开始时的透明度,1.0为百分百透明;toAlpha:结束时的透明度,0.0为百分百不透明;duration:动画持 阅读详情

一、技术要点:

1.使用animation实现跳转Activity的淡入淡出与滑动

2.使用重写Activity中的onTouchEnent函数实现从左往右划屏幕时跳转Activity(带滑动效果)

二、项目源码下载地址:http://download.youkuaiyun.com/detail/far_sight/7937035

三、效果图: 本项目有两个Activity,一个是MainActivity为首页,另一个是OtherActivity,要跳转到的Activity

1.首页:  MainActivity

2.点击第一个按钮后跳转到OtherActivity,会看到MainActivity渐渐消失,而OtherActivity会渐渐出现

3.在首页上左往右划屏幕时,MainActivity渐渐从左往右移动,直到全部移动屏幕;而OtherActivity从左往右移动直到全部出现在屏幕中

4.点击第二个按钮与上一步"在首页上左往右划屏幕时"效果相同

四、项目结构图

五:项目中文件内容:

1.MainActivity.java文件内容

package com.fs.act;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;

public class MainActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}
	/**
	 * 跳转到OtherActivity,有淡入淡出效果存在
	 * */
	public void change1(View v) {
		Intent intent = new Intent(this, OtherActivity.class);
		startActivity(intent);
		//实现alpha_in.xml与alpha_in.xml配置的效果
		this.overridePendingTransition(R.anim.alpha_in, R.anim.alpha_in);
	}
	/**
	 * 跳转到OtherActivity,有滑动效果存在
	 * */
	public void change2(View v) {
		Intent intent = new Intent(this, OtherActivity.class);
		startActivity(intent);
		//实现translate_in.xml与translate_out.xml配置的效果
		this.overridePendingTransition(R.anim.translate_in, R.anim.translate_out);
	}
	/**
	 * 跳转到OtherActivity,淡入淡出与滑动效果同时存在
	 * */
	public void change3(View v) {
		Intent intent = new Intent(this, OtherActivity.class);
		startActivity(intent);
		//实现\in.xml与\out.xml配置的效果
		this.overridePendingTransition(R.anim.in, R.anim.out);
	}
	private float startX;
	/**功能:触摸屏幕往左滑动, 与点击第二个按钮达到效果是一样的。
	 * 该函数在使用手触摸屏幕与离开屏幕都会被回调,函数中event的getAction返回值
	 * 与 MotionEvent.ACTION_DOWN相等表示触摸屏幕时被回调,与MotionEvent.ACTION_UP
	 * 相等表示手离开屏幕时被回调,
	 * event.getX()返回触摸或离开屏幕时,手所在屏幕上的x坐标。
	 */
	@Override
	public boolean onTouchEvent(MotionEvent event) {
		if(event.getAction()==MotionEvent.ACTION_DOWN) {
			this.startX = event.getX();
		}else if(event.getAction() == MotionEvent.ACTION_UP) {
			float endX = event.getX();
			if(endX > startX) {
				Intent intent = new Intent(this, OtherActivity.class);
				startActivity(intent);
				//实现translate_in.xml与translate_out.xml配置的效果
				this.overridePendingTransition(R.anim.translate_in, R.anim.translate_out);
			}
		}
		return super.onTouchEvent(event);
	} 
}

2.OtherActivity.java文件内容:

package com.fs.act;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.ViewFlipper;

public class OtherActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.other);
	}
	private float startX;
	@Override
	public boolean onTouchEvent(MotionEvent event) {
		if(event.getAction()==event.ACTION_DOWN) {
			this.startX = event.getX();
		}else if(event.getAction() == event.ACTION_UP) {
			float endX = event.getX();
			if(endX > startX) {
				Intent intent = new Intent(this, MainActivity.class);
				startActivity(intent);
				//实现translate_in.xml与translate_out.xml配置的效果
				this.overridePendingTransition(R.anim.translate_in, R.anim.translate_out);
			}
		}
		return super.onTouchEvent(event);
	} 
}

3.alpha_in.xml文件内容:

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

4.alpha_out.xml文件内容

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

<!-- 
fromAlpha与toAlpha表示看得到还是看不到值为0.0到1.0之间。
(1)0.0表示完全看不到(完全透明)
(2)1.0表示完全看得到(完全不透明)
本文件中的配置表示由在5000ms内,逐渐由完全看得到至完全看不到的过程,
换一种说法就是在5000ms内,逐渐由完全不透明到完全透明的过程。   
 -->

5.in.xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<alpha
        android:fromAlpha="0.0"
        android:duration="5000"
        android:toAlpha="1.0" />
	<translate
        android:fromXDelta="-100%p"
        android:toXDelta="0"
        android:fromYDelta="0"
        android:toYDelta="0"
        android:duration="5000"
         />
</set>

 

6.out.xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <alpha
        android:duration="5000"
        android:fromAlpha="1.0"
        android:toAlpha="0.0" />

    <translate
        android:fromXDelta="0"
        android:toXDelta="100%p"
        android:fromYDelta="0"
        android:toYDelta="0"
        android:duration="5000"
         />

</set><!--
fromAlpha与toAlpha表示看得到还是看不到值为0.0到1.0之间。
(1)0.0表示完全看不到(完全透明)
(2)1.0表示完全看得到(完全不透明)
本文件中的配置表示由在5000ms内,逐渐由完全看得到至完全看不到的过程,
换一种说法就是在5000ms内,逐渐由完全不透明到完全透明的过程。   
-->

7.translate_in.xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate
        android:fromXDelta="-100%p"
        android:toXDelta="0"
        android:fromYDelta="0"
        android:toYDelta="0"
        android:duration="5000"
         />
</set>

<!-- 
坐标是指界面左上角坐标上的位置,坐标原点是屏幕左上角,往右与往下为正方向
translate 位置转移动画效果  
      整型值:  
                fromXDelta 属性为动画起始时 X坐标上的位置  
                toXDelta   属性为动画结束时 X坐标上的位置  
                fromYDelta 属性为动画起始时 Y坐标上的位置  
                toYDelta   属性为动画结束时 Y坐标上的位置  
                注意:  
                         没有指定,  
                         默认是以自己为相对参照物  
            长整型值:  
          duration  属性为动画持续时间  
                说明:   时间以毫秒为单位  
在这些属性里面还可以加上%p,例如:
android:toXDelta="100%",表示父层的宽
android:toXDelta="80%p",表示父层宽的80%
 -->

8.translate_out.xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate
         android:fromXDelta="0"
        android:toXDelta="100%p"
        android:fromYDelta="0"
        android:toYDelta="0"
        android:duration="5000"
         />
</set>

9.main.xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/fullscreen"
    android:orientation="vertical" 
    android:background="#ffff0000"
    >
    <Button
        style="@style/wrapscreen"
        android:onClick="change1"
        android:text="淡入淡出Activity" />

    <Button
        style="@style/wrapscreen"
        android:onClick="change2"
        android:text="滚动切换Activity" />

    <Button
       style="@style/wrapscreen"
        android:onClick="change3"
        android:text="淡入淡出+滚动切换Activity" />
</LinearLayout>

 

10.other.xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/fullscreen"
    android:orientation="vertical" >
    <ImageView
        style="@style/fullscreen"
        android:src="@drawable/image" />
</LinearLayout>

 

11.styles.xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<style name="fullscreen">
		<item name="android:layout_width">fill_parent</item>
		<item name="android:layout_height">fill_parent</item>
	</style>
	
	<style name="wrapscreen">
		<item name="android:layout_width">wrap_content</item>
		<item name="android:layout_height">wrap_content</item>
	</style>
</resources>


 

 

Android仿今日头条图片滑动退出效果 逛优快云的时候,看到几篇写仿今日头条图片滑动退出效果的文章,闲着无聊便想着也给自己项目加上,实现的思路有很多种,本着就近原则选了一篇与自己思路相近的文章结合自己的实践总结一下。 下载原文的Demo用了一下,发现了几点可以优化的地方: 1、图片缩放上不太好使,放大缩小的同时就给你滑出去了 2、没有暴露接口给用户实现更多的透明度变换效果,比如我不仅想要背景透明度在手指移动的时候发生变化,还有文... 阅读详情

相关推荐

告别迷茫!手把手教你用Synopsys VC USB VIP搭建验证平台(附UVM分层序列实战解析)

本文详细介绍了如何使用Synopsys VC USB VIP搭建验证平台,并深入解析UVM分层序列的实战应用。通过Step-by-Step的操作指南和关键配置示例,帮助验证工程师高效集成USB VIP,掌握从环境搭建到测试用例开发的全套技能,特别适合处理复杂协议验证的挑战。

weixin_42520573的博客 555

Activity 的切换效果 淡入淡出

前言本次讲的是Activity 的浅入浅出动画,和自定义切换动画 1. 安卓系统中,Google 工程师已经为我们提供了四个Activity 跳转动画, 分别是android.R.anim.slide_in_left, android.R.anim.slide_out_right , android.R.anim.fade_in , android

技术共享 964

CTFshow-pwn入门-前置基础pwn32-pwn34

CTFshow-pwn入门-前置基础pwn32-pwn34

你们de4月天的博客 1132

【Animation】更改Activity实现淡入淡出的效果

传统原生的Android的页面的出现消失都是从右侧滑入向右侧退出 假如想要实现一个AppleActivity中有一个九宫格图片,点击其中一个则进入BananaActivity进行放大展示,点击图片或者按Back键退出的效果,如果采用原生的让BananaActivity左进右出的动效,比较生硬,可以更改默认动画,时第二个Activity变成淡入淡出的效果。 用到的方法:overridePend...

dandelionela的博客 762

QOpenGL入门教程(二)—— 第一个QOpenGLWidget程序

终于到了实际操作的环节了,这一章我们要做的是: 创建OpenGL窗口 创建并编写着色器程序 为着色器程序装配顶点数据 启动渲染管线进行绘图 第一步:创建新项目 首先,我们使用Qt创建一个常规的QWidget项目,建议不要勾选ui设计器(个人习惯,笔者不太习惯于使用ui来设计) 第二步:创建QOpenGLWidget并实现三个虚函数 QOpenGLWidget Qt5.4之前,Qt可以通过一个QGLWidget类来创建OpenGL窗口,但由于opengl的发展,在5.4版本的时候,Qt提供

ItaLink 1万+

Lumerical INTERCONNECT 中的自相位调制 (SPM) 仿真实践指南

本文详细介绍了在Lumerical INTERCONNECT中进行自相位调制(SPM)仿真的实践指南。从SPM的基础物理原理出发,深入解析非线性薛定谔方程和克尔效应,到INTERCONNECT中NLSE波导元件的配置技巧,以及时域与频域中SPM效应的观测方法。文章还提供了常见问题排查和进阶联合仿真技巧,帮助用户高效完成从仿真到实测的校准过程。

weixin_42565652的博客 188

直播app源码,将Activity设置成透明窗口且淡入淡出

以上就是 直播app源码,将Activity设置成透明窗口且淡入淡出,更多内容欢迎关注之后的文章。直播app源码,将Activity设置成透明窗口且淡入淡出。将Activity设置成透明窗口且淡入淡出。2.在styles.xml中编写如下。1.创建淡入淡出的动画文件。

云豹网络科技 260

TMS320F280049C 学习笔记4 Led_ex1_blinky 初始化函数及系统时钟

承接上一篇学习笔记,这次开始实际运行例程。本文概述了280049C的第一个实验 Led灯闪烁。同时也总结了系统的初始化函数和时钟配置。

whyorwhnt的专栏 7034

安卓淡入淡出,左右交叉,缩小等12种简单动画小案例

本案例使用android studio实现的。一共只有两个界面,通过12中不同的动画效果跳转。 12中小动画利用下拉列表隐藏起来的。如图: Caption代码: 本app代码较多,链接:https://download.youkuaiyun.com/my/uploads 代码如下: mainActivity.java import android.content.Intent; impo...

weixin_43080188的博客 1458

设备接入与APP(应用程序)接入华为云iotDA平台的详细操作步骤及获取方式

设备及APP(应用程序) 登录 IoTDA 平台所需的 入场与操作清单内容,提供逐项详细操作步骤和获取方式,并穿插贴士便于理解与实际操作落地。内容基于 华为云 IoTDA 控制台 和 IAM 控制台 的实际使用路径整理。

hy行者勇哥的博客 3059

实现两端固支梁热力耦合的有限元分析

在本文中,我们将使用Matlab实现两端固支梁的热力耦合有限元分析。我们假设梁的材料是均匀的,梁的截面积为1,长度为1,两端固支,且受到均匀分布的热荷载。接下来,我们需要组装全局刚度矩阵和热传导矩阵。对于两个相邻的元素,它们共享一个节点,因此需要使用连接矩阵将局部矩阵组装成全局矩阵。接下来,我们需要定义元素刚度矩阵和热传导矩阵。然后,我们需要定义载荷向量。然后,我们需要定义边界条件。在这个例子中,梁的两端固支,因此我们需要将两端节点的位移限制为0。最后,我们需要解决线性方程组,得到节点的位移和温度分布。

CyberSparkZ的博客 396

android activity切换动画,Activity 过渡动画 — 让切换更加炫酷

博主声明:本文首发于此 博主:威威喵 | 博客主页:https://blog.youkuaiyun.com/smile_running介绍在 android5.0 以上版本中,google 为我们提供了几种 activity 切换的过渡动画,目的是为了让 activity 切换转场更加美观,而在 android5.0 之前的 activity 切换显得生硬。虽然可以自定义给 activity 增添动画...

weixin_26833139的博客 1715

把 LLM 编排能力塞进 ABAP 系统里,ZLLM 仓库的工程价值与 SAP 落地场景

ZLLM项目将LLM应用开发中的常见工程问题引入ABAP原生环境,为SAP系统提供AI工作流构建能力。它类似ABAP版的LangChain,支持Chain组合、Prompt模板、状态传递等核心功能,强调纯ABAP实现、延迟执行以及与ABAP数据结构的深度集成。项目包含工厂类、LLM客户端、负载均衡器等模块,特别设计了能处理ABAP内表和结构的模板引擎,使业务数据可直接用于Prompt生成。通过Step和Flow机制支持复杂业务过程编排,并采用延迟执行和并行处理优化批量任务性能。该项目为ABAP开发者提供了在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 61

Activity之间的切换动画

文章目录1 overPendingTransition(int enterAnim, int exitAnim)介绍2 淡入淡出效果3 滑动效果3.1 从左向右滑动3.2 从右向左滑动3.3 从上向下滑动3.4 从下向上滑动4 缩放效果 首先看一个动图 上图展示的是Activity的跳转动画,第二个Activity从右向左进入,假如我想让它从左向右进入,或者其他的效果进入,该如何做到呢?这就要讲...

百吉猫的博客 573

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Activity 过渡动画 — 让切换更加炫酷

博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载。本文由博主威威喵原创,请多支持与指教。 本文首发于此 博主:威威喵|博客主页:https://blog.youkuaiyun.com/smile_running 介绍 在 android5.0 以上版本中,google 为我们提供了几种 activity 切换的过渡动画,目的是为了让 activity 切换...

你若盛开,蜜蜂自来 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android Activity切换动画overridePendingTransition

Android Activity切换动画overridePendingTransition Android Activity切换动画是指从Activity A 跳转至Activity B的时候,Activity A 有退出动画,Activity B 有进入动画。这个动画的实现很简单,在startActivity(intent)之后调overridePendingTransition ()这个...

jceator123的博客 534

不同位置动态点击图标放大跳转至新Activity

之前一次面试时,问道要实现一个效果,点击一个圆形头像放大移动跳转到另一个Activity同一图片位置,好使没有跳转痕迹。当时就简单说了一下,没有深入,今天有空就自己实现了一下。 我的想法是点击头像放大移动到固定位置,然后activity再跳转。 考虑到头像位置不一定是固定的,所以每次跳转时需要重新计算一下移动参数。动画结束时还需要有个淡入和淡出的效果 首先是准备一个缩放的动画。第一个

u013898922的专栏 926

Android中的动画详解系列【4】——Activity之间切换动画

前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自定义动画,这一篇我们来看看如何将Android中的动画运用到实际开发中的一个场景——Activity之间跳转动画。 一、定义动画资源 如果对Android中的动画不了解,请先阅读《Android中的动画详解系列【1】——逐帧动画》《Android中的动画详解系列【2】——飞舞的蝴蝶》《Android中的动画详解系列【3】—

qweadf1的专栏 528

Android Activity动画填坑

通用策略:1. overridePendingTransition方法在startActivity后加上这样一行代码startActivity(new Intent(MainActivity.this , SelectWiFiActivity.class)); overridePendingTransition(R.anim.up_in, R.anim.up_out); 然后在跳转到的activi...

zp704720467的博客 364

Android 多页面左右滑动

通过左右滑动屏幕来切换页面,有4种方式: (0) 使用ScrollLayout; (1) 使用动画; (2) Activity 实现 OnTouchListener 和 OnGestureListener 接口; (3) 使用 ViewPager; 本文将对上述各个方式逐一介绍。

关注移动端、Web、微信小程序等大前端领域 1万+

android 窗口切换动画效果,Android开发Activity界面切换添加动画特效的方法

释放双眼,带上耳机,听听看~!随着互联网的快速发展,现在我们开发的界面或者动画特效效果都非常好,其实这对于程序员的挑战是非常大的,下文是技术狗小编为大家带来的Android实现Activity界面切换添加动画特效的方法,一起来学习吧!现看看下面这段示例代码:@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreat...

weixin_39623273的博客 552

android jni示例_Android动画示例

android jni示例Android Animation is used to give the UI a rich look and feel. Animations in android apps can be performed through XML or android code. In this android animation tutorial we’ll go with XM...

从零开始的教程世界 401

Android插件化开发指南——实践之Activity转场效果(仿酷狗音乐启动页)

文章目录1. 前言2. Activity退出动画2.1 简单使用2.2 overridePendingTransition3. 后记 1. 前言 在Android插件化开发指南——2.15 实现一个音乐播放器APP中介绍了音乐播放的基本知识,以及在最后提到了想仿一个音乐播放器,所以在接下来的日子里将继续仿造。刚刚结合Android启动页白屏/黑屏问题解决一文,简单实现了仿酷狗音乐的启动页面,具体效果如下: 但是退出的效果和酷狗的退出效果差别很大,比如下面我截取片段: 可以发现明显的页面退出效果更加炫酷。

梦否 1189

Android 官方培训课程中文版:使用 ViewPager 实现屏幕滑动(Screen Slide)动画

本篇技术指南改编自「Android 官方培训课程中文版」开源仓库中 [animations/screen-slide.md](https://link.gitcode.com/i/346220ac4581f564c4d1e64cded5591e) 一课。屏幕滑动(Screen Slide)是两个完整界面之间的水平转换动画,常见于设置向导(Wizard)与幻灯片放映等场景。读完本文,你将掌握如何借助

gitblog_00841的博客 70

Activity-过渡动画-—-让切换更加炫酷

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。链接:https://pan.baidu.com/s/1BUbENbinlO0KpI5aQDA1JA?pwd=1234提取码:1234。

2401_87593647的博客 1444

Develop>Training(18)---添加动画

2017年,好好的整理一下自己所学的知识,温故而知新,可以为师矣~以前的博客写的很零散,希望以后写的条理性更强些。不管做什么,都得有个规范。对于求学方面,每天一小步,坚持前进。 官方链接:https://developer.android.com/training/animation/index.html 动画能够添加微妙的视觉线索,通知用户怎样进入你的app,从app的交互界面来改善

有酒平步上青天 1135
上一篇: FragmentCustomAnimation实现Fragment的界面切换
下一篇: 隐藏Activity标题栏
wangguangrong
博客等级 码龄14年 165粉丝 89原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值