Activity 切换动画和页面切换动画
public class MainActivity extends Activity {
private ViewFlipper viewFlipper;
private float startX;
private Animation in_lefttoright;
private Animation out_lefttoright;
private Animation in_righttoleft;
private Animation out_righttoleft;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
in_lefttoright = AnimationUtils.loadAnimation(this, R.anim.enter_lefttoright);
out_lefttoright = AnimationUtils.loadAnimation(this, R.anim.out_lefttoright);
in_righttoleft = AnimationUtils.loadAnimation(this, R.anim.enter_righttoleft);
out_righttoleft = AnimationUtils.loadAnimation(this, R.anim.out_righttoleft);
//ViewFlipper 中的每一个组件都被视为一个页面
viewFlipper = (ViewFlipper) this.findViewById(R.id.viewFlipper);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN){
startX = event.getX();
}else if(event.getAction()==MotionEvent.ACTION_UP){
float endX = event.getX();
if(endX > startX){
//设置进入的动画
viewFlipper.setInAnimation(in_lefttoright);
//设置出去的动画
viewFlipper.setOutAnimation(out_lefttoright);
viewFlipper.showNext();//显示下一页
}else if(endX < startX){
viewFlipper.setInAnimation(in_righttoleft);
viewFlipper.setOutAnimation(out_righttoleft);
viewFlipper.showPrevious();//显示前一页
}
return true;
}
return super.onTouchEvent(event);
}
public void openActivity(View v){
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
//为Activity设置切换动画
this.overridePendingTransition(R.anim.enteralpha, R.anim.outalpha);//实现Activity切换动画效果
}
}
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="-100%p" <!-- 100%p 标示屏幕的宽度--> android:toXDelta="0" android:duration="5000"
/>
</set>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
> <ViewFlipper <!--ViewFlipper 中的每一个组件都被视为一个显示页面-->
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/viewFlipper"
>
<!-- 第一页 -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="第一页"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开新Activity" android:onClick="openActivity"
/>
</LinearLayout>
<!-- 第二页 -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#339900"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="第二页"
/>
</LinearLayout>
</ViewFlipper> </LinearLayout>
Activity 切换动画和页面切换动画的更多相关文章
- QtQuick多页面切换、多页面切换动画、多个qml文件数据交互
一.QtQuick多页面切换方法 (1)“隐藏法” 前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在: 要显示的视图visible设为true或者透明 ...
- Swift - 使用CATransition制作过渡动画(页面切换转场效果)
CATransition动画主要在过渡时使用,比如两个页面层级改变的时候添加一个转场效果.CATransition分为两类,一类是公开的动画效果,一类是非公开的动画效果. 1,公开动画效果: kCAT ...
- Android5.0之后的页面切换动画
Android5.0之后给我们开发者剩了好多的事情,为什么这么说呢?还记得刚开始的时候,Android里面的所有的动画都要我们开发者自己来写,现在不需要了,因为5.0之后自带了好多的动画,比如:按钮点 ...
- ionic-native-transitions调用原生页面切换实现ionic路由切换
废话不多说:ionic-native-transitions调用原生页面切换实现ionic路由切换,从而大大提升ionic应用的性能. ionic-native-transitions是一个ionic ...
- app引导页(背景图片切换加各个页面动画效果)
前言:不知不觉中又加班到了10点半,整个启动页面做了一天多的时间,一共有三个页面,每个页面都有动画效果,动画效果调试起来麻烦,既要跟ios统一,又要匹配各种不同的手机,然后产品经理还有可能在中途改需求 ...
- (原)android中的动画(三)之动画监听&页面切换动画
1.动画也可以设置监听事件,例如在动画结束时需要执行某操作 把要执行的代码写在onAnimationEnd()回调方法中即可: anim.setAnimationListener(new Animat ...
- ViewPager实现滑屏切换页面及动画效果(仿优酷客户端)
找了许多实现该功能的例子,但效果都不很理想,于是自己结合网上的资源及自己的总结,整理了一下,发出来,供大家参考.这个是自己做的,仿优酷客户端的. 先看效果: ****************** ...
- iOS开发之——从零开始完成页面切换形变动画
前言 某天我接到了UI发给我的两张图: 需求图.png 看到图的时候我一脸懵逼,显然我需要做一个页面切换的指示动画.老实说,从大三暑假开始做iOS开发也一年有余了,但是遇到复杂动画总是唯恐避之不及,只 ...
- 《转载》两个activity界面间跳转切换动画效果
1overridePendingTransition Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画. 它包括两个部分:一部分是第一个activity退出 ...
随机推荐
- 搭建 webpack、react 开发环境(三)
配置 react-router-dom 我们开发一个 React 工程肯定不是一两个“页面”就可以满足需求的,所以我们需要一个在多个“页面”中跳转的功能,在使用 React 构建的单页面应用中,要 ...
- 封装一个Js 对象 生成Json
<script src="~/Content/Scripts/jquery-1.11.3.min.js"></script> <script> ...
- showkey - 检查来自键盘的扫描码和键盘码
览 (SYNOPSIS) showkey [ -[hVskm] | --help | --version | --scancodes | --keycodes | --keymap ] [ -t N ...
- 如何在YouTube上下载视频
1,首先要有科学上网的工具 2,详细说明:https://en.savefrom.net/1-how-to-download-youtube-video/
- PHP7.1以上版本 count()报错
报错信息如下: count(): Parameter must be an array or an object that implements Countable (View: D:\fookusy ...
- C++11新特性之 Move semantics(移动语义)
https://blog.csdn.net/wangshubo1989/article/details/49748703 这篇讲到了vector的push_back的两种重载版本,左值版本和右值版本.
- html2canvas截图白边显示问题
html2canvas(document.getElementById('resource_chart'),{ useCORS:true, logging:false, width:$('#resou ...
- Python--MySql(主键的创建方式、存储引擎、存储过程、索引、pymsql)
主键的创建方式 1. create table stud( id int not null unique, name ) ); mysql> desc stud; +-------+------ ...
- centos系统下安装MySQL5.7.18
1.首先安装依赖包 yum install -y gcc gcc-c++ ncurses-devel perl openssl-devel 最最重要的是,不要忘了安装openssl-devel 2.安 ...
- [CSP-S模拟测试]:队长快跑(DP+离散化+线段树)
题目背景 传说中,在远古时代,巨龙大$Y$将$P$国的镇国之宝窃走并藏在了其巢穴中,这吸引着整个$P$国的所有冒险家前去夺回,尤其是皇家卫士队的队长小$W$.在$P$国量子科技实验室的帮助下,队长小$ ...