ViewFlipper实现ViewPager的页面切换效果
activity_main.xml
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" >
- <ViewFlipper
- android:id="@+id/flipper"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" >
- </ViewFlipper>
- </LinearLayout>
MainActivity
- package com.example.viewflipper;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.MotionEvent;
- import android.widget.ImageView;
- import android.widget.ViewFlipper;
- public class MainActivity extends Activity {
- private ViewFlipper flipper;
- private int[] resId = { R.drawable.pic1, R.drawable.pic2, R.drawable.pic3,
- R.drawable.pic4 };
- private float startX;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- flipper = (ViewFlipper) findViewById(R.id.flipper);
- // 动态导入的方式,增加子view
- for (int i = 0; i < resId.length; i++) {
- flipper.addView(getImageView(resId[i]));
- }
- // 进入动画--取消自己主动播放功能
- // flipper.setInAnimation(this, R.anim.left_in);
- // flipper.setOutAnimation(this, R.anim.left_out);
- // flipper.setFlipInterval(3000);
- // ;
- // flipper.startFlipping();
- }
- // 通过id获取图片
- private ImageView getImageView(int resId) {
- ImageView imageView = new ImageView(this);
- // 铺满屏幕
- imageView.setBackgroundResource(resId);
- return imageView;
- }
- /**
- * 处理手势事件
- */
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- switch (event.getAction()) {
- case MotionEvent.ACTION_DOWN:
- // 获取起始点的x轴的坐标
- startX = event.getX();
- break;
- case MotionEvent.ACTION_MOVE:
- break;
- case MotionEvent.ACTION_UP:
- // 向右滑动
- if (event.getX() > startX + 100) {
- flipper.setInAnimation(this, R.anim.left_in);
- flipper.setOutAnimation(this, R.anim.rightf_out);
- // 显示前一页
- flipper.showPrevious();
- }
- // 向左边滑动
- if (event.getX() + 100 < startX) {
- flipper.setInAnimation(this, R.anim.right_in);
- flipper.setOutAnimation(this, R.anim.left_out);
- // 显示前一页
- flipper.showNext();
- }
- break;
- default:
- break;
- }
- return super.onTouchEvent(event);
- }
- }
left_in.xml
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android" >
- <translate
- android:duration="1000"
- android:fromXDelta="-100%p"
- android:toXDelta="0" />
- </set>
left_out.xml
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android" >
- <translate
- android:duration="1000"
- android:fromXDelta="0"
- android:toXDelta="-100%p" />
- </set>
right_in.xml
- <?
- xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android" >
- <translate
- android:duration="1000"
- android:fromXDelta="100%p"
- android:toXDelta="0" />
- </set>
rightf_out.xml
- <?
- xml version="1.0" encoding="utf-8"?
- >
- <set xmlns:android="http://schemas.android.com/apk/res/android" >
- <translate
- android:duration="1000"
- android:fromXDelta="0"
- android:toXDelta="100%p" />
- </set>
ViewFlipper实现ViewPager的页面切换效果的更多相关文章
- jquery mobile页面切换效果(Flip toggle switch)(注:jQuery移动使用的数据属性的列表。 )
1.页面切换(data-transition)
- Android - FragmentTabHost 与 Fragment 制作页面切换效果
使用 FragmentTabHost 与 Fragment 制作页面切换效果 API 19 TabHost已经不建议使用了.用 FragmentTabHost 来代替TabHost.实际上 Fragm ...
- Android - TabHost 与 Fragment 制作页面切换效果
Android - TabHost 与 Fragment 制作页面切换效果 Android API 19 , API 23 三个标签页置于顶端 效果图: 在文件BoardTabHost.java中定义 ...
- html5各种页面切换效果和模态对话框
页面动画:data-transition 属性可以定义页面切换是的动画效果.例如:<a href="index.html" data-transition="pop ...
- 基于html5和css3响应式全屏滚动页面切换效果
分享一款全屏响应式的HTML5和CSS3页面切换效果.这个页面布局效果对于那些页面要求固定100%高度和宽度的网站和APP来说是十分有用的.效果图如下: 在线预览 源码下载 HTML wrappe ...
- WP8 NavigationInTransition实现页面切换效果
NavigationInTransition这个是实现页面切换效果,而且没控件来拖,要自己手动写, 将App.xaml.cs中InitializePhoneApplication()函数里的RootF ...
- 在uwp仿IOS的页面切换效果
有时候我们需要编写一些迎合IOS用户使用习惯的uwp应用,我在这里整理一下仿IOS页面切换效果的代码. 先分析IOS的页面切换.用户使用左右滑动方式进行前进和后退,播放类似于FlipView的切换动画 ...
- [Swift通天遁地]九、拔剑吧-(7)创建旋转和弹性的页面切换效果
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- [Swift通天遁地]九、拔剑吧-(8)创建气泡式页面切换效果
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
随机推荐
- sql server查看某个表上的触发器
用企业管理器查看 在某个具体的表上点右键->“所有任务”->“管理触发器”,选择所要查看的触发器
- 把WebForm移植到.Net MVC中
最近写项目,想把以前项目中的几个功能页面移植过来(想偷懒一下),在网上查了很多的资料,多数资料都是直接在MVC中添加WebForm,和我的需求不同.在此非常感谢网友“Jason”给予的帮助,终于搞定了 ...
- 计算器Pro应用项目源码
本计算器实现了一些简单的功能,可能本身还存在一些缺陷,希望大家提建议,能够改进一下. 源码项目我已经上传到源码天堂那里了:http://code.662p.com/list/11_1.html < ...
- Windows 8.1设置WIFI共享以及无法启动承载链接解决方案.
1.设置WIFI共享方法 2.无法启动承载链接解决方案 1.设置WIFI共享方法 Windows8 windows8.1笔记本wifi热点 wifi共享.快速将笔记本或者台式机的网络共享给手机,平板等 ...
- 数据层优化-jdbc连接池简述、druid简介
终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和dao层的优化 ...
- ALTER USER - 改变数据库用户帐号
SYNOPSIS ALTER USER name [ [ WITH ] option [ ... ] ] where option can be: [ ENCRYPTED | UNENCRYPTED ...
- VS调试debug的即时窗口的使用
例:
- BZOJ4318: OSU! (概率DP)
题意:一个串 给出每个字符为1的可能性 否则为0 一段连续的1能获得长度的立方的收益 问总收益的期望 题解:设x_i为到第i位时连续的1的期望长度 由i-1递推来的贡献 如果这一位是0没有贡献 如果是 ...
- cc.Node—坐标系统
cc.Vec21: cc.Vec2 二维向量坐标, 表结构{x: 120, y: 120}; cc.v2(x, y) 创建一个二维向量 cc.p() 创建一个二外向量;2: cc.pSub: 向量相减 ...
- node函数assert()详解
assert.ok() 的别名. const assert = require('assert'); assert(true); // OK assert(1); // OK assert(false ...