Android 实现两屏幕互相滑动

下文来自:

http://blog.csdn.net/song_shi_chao/article/details/7081664

---------------------------------------------------------------------------------------------------------

最近在学习两屏幕互相滑动这里,看了一些源码,整理如下。转自安卓巴士一个兄弟的文章。感觉不错。

建议按顺序看,我个人感觉这个顺序比较适合学习。

Android实现简单移动动画
http://www.apkbus.com/forum.php?mod=viewthread&tid=18381&fromuid=3402

Android利用ViewFlipper实现随手势滑动视图间切换
http://www.apkbus.com/forum.php?mod=viewthread&tid=18380&fromuid=3402

为ViewFlipper视图切换增加动画
http://www.iteye.com/topic/1114378

Android中利用ViewGroup 实现视图随手势移动(这种形式目前被ViewPager替换了,原来都使用这种实现方式)

http://www.apkbus.com/forum.php?mod=viewthread&tid=18382&fromuid=3402

Android中利用ViewPager实现视图切换
http://www.apkbus.com/forum.php?mod=viewthread&tid=18384&fromuid=3402

最近在研究这个东西,发现新浪微博的客户端、腾讯微博的客户端都有这个功能。目前到今天为止,腾讯和微博的客户端都是使用viewPager控件写的,可能重写了一些地方。而腾讯老版本的qq是用viewflipper写的,就是手势滑动切屏。但是新版本的客户端,它已经使用viewpager写了。

切屏有几种实现方式:

第一种:使用viewgroup,比如上面的网址就又例子。

第二种:使用viewflipper。就是手势滑动。根据手势的变化,比如向左或者向右,虽然能切屏,但是不能呈现两个界面的内容,就是说,只能显示一个试图。滑动后,将出现另一个试图。

第三种:使用提取Launcher中的WorkSapce,可以左右滑动切换屏幕页面的类。这种方式也是viewpager没有出现时大家常用得一种方式。不过现在除了用于手机桌面的滑动外,新版的客户端多数都已经不用这种实现方式了。

第四种:就是使用ViewPager了。这是后来google加的一个东西,使用起来很方便,也不是很卡。当然需要做很多优化。数据当然多数情况不是静态的,而是从网络上获取的,所以优化就是必须得了。优化到什么程度就看你的功力了。

【Android】通过手势切换屏幕的几种方法

第一种: ViewFlipper + GestureDetector

第二种: ActivityGroup +   GestureDetector

第三种: ViewPager  (Android3.0+)

第四种: ViewFlow (开源项目)  (示例: http://download.csdn.net/detail/feng88724/3812764

前两种大家应该都知道,尤其是第一种,应该都用过了。( 第二种方式可参考此文:http://www.iteye.com/topic/1115953 )

本文重点要讲是第三种方式,Viewpager。 可能有人会说,这要Android 3.0以上才可以使用呢,现在市场上的手机根本没有基于这个Level的,基本都在2.0 - 2.3,怎么办呢?

没关系,google 在2011年3月时推出了Compatibility (   http://developer.android.com/guide/practices/compatibility.html ),这东西到底有什么用呢?

说白了,他得主要作用就是让低版本的Android支持Android3.0中的一些特性, Google将Android3.0中部分API抽取出来,打成一个Jar包,android-support-v4.jar,只要你在开发应用时引入这个包,那你就也能使用ViewPager、Fragment、Loader等这些API了。  这些我放一个网上找到的说明文档,其实只要导入v4的这个jar就可以开发,但还是有不清楚的朋友可以看看这个文档(http://download.csdn.net/detail/feng88724/3798731)。

下面开始就讲下如何使用Viewpager实现屏幕内容切换。

发现已经有好几个朋友写过相关文章,我就不重复发明轮子了..

Android 实现两屏幕互相滑动的更多相关文章

  1. Android的Activity屏幕切换滑动动画

    Activity的切换效果使用的是Android的动画效果,Android的动画在官方有相关资料:http://developer.android.com/guide/topics/graphics/ ...

  2. Android的Activity屏幕切换动画(一)-左右滑动切换

    (国内知名Android开发论坛eoe开发者社区推荐:http://www.eoeandroid.com/) Android的Activity屏幕切换动画(一)-左右滑动切换 在Android开发过程 ...

  3. Android UI效果实现——Activity滑动退出效果

    更新说明: 1.在QQ网友北京-旭的提醒下,在SlideFrame的initilize方法中添加了focusable.focusableInTouch.clickable的状态设置,否则会导致部分情况 ...

  4. android多分辨率多屏幕密度下UI适配方案

    相关概念 分辨率:整个屏幕的像素数目,为了表示方便一般用屏幕的像素宽度(水平像素数目)乘以像素高度表示,形如1280x720,反之分辨率为1280x720的屏幕,像素宽度不一定为1280 屏幕密度:表 ...

  5. Android使用ViewFlipper实现左右滑动效果面

    在我的博客中,上次是使用ViewPager实现左右滑动的效果的,请看文章:Android使用ViewPager实现左右滑动效果. 这次我来使用ViewFlipper实现这种效果,好了,先看看效果吧: ...

  6. Android自适应不同屏幕几种方法

        因为Android设备的屏幕尺寸.分辨率区别很大.假设希望我们的应用可以在不同屏幕尺寸或分辨率的Android设备上执行,即更换Android设备后界面和字体不会因此变得混乱.则须要考虑屏幕的 ...

  7. 【Android Studio安装部署系列】二十六、Android studio录制屏幕并生成gif文件

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio自带录制屏幕功能,那么就可以很方便地将手机上的屏幕操作录制成视频.然后借助一些软件或者网站转换成gif文 ...

  8. Android Camera多屏幕适配解决预览照片拉伸

    通常,拍照预览页面的照片拉伸主要与下面两个因素有关: 1.     Surfaceview的大小 2.     Camera中的Preview的大小 如下图:     图中preview显示的是手机支 ...

  9. Qt for Android 程序禁止屏幕旋转

    有时候我们希望让一个程序的界面始终保持在一个方向,不随手机(平板)方向旋转而变化:在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入 android:screen ...

随机推荐

  1. linux按照进程名杀掉进程

    1.按照进程名杀掉进程 ps  -ef  | grep   sftp   | grep mysql  |grep -v grep | awk '{print("kill -9 ", ...

  2. 随机数的生成 - rand(), srand()

    2017-08-20  17:43:29 writer:pprp 我们采用随机数可以对我们的算法进行大数据检验 /* name : 简单的随机数生成算法 writer : pprp declare : ...

  3. 使用maven命令进行打包,部署项目到远程仓库

    如果要部署项目到远程仓库, 方法一:配置pom.xml: <distributionManagement> <repository> <id>releases< ...

  4. form组件的验证

    django 的form组件可以实现自定义的验证规则. 创建基于Form的类,在类中创建字段,定义规则. 创建该类的对象,并将待验证的数据传入,使用is_valid()函数. is_valid()函数 ...

  5. C++ substr 和 substring

    功能相似,但参数不同 substr(start,length); substring(start,end);

  6. windows service 2008 内存吃尽解决方案

    最近用windows2008,发现系统运行一段时间后,内存吃紧,赶紧打开资源查看器,发现当前运行的程序占有内存都很小,后经查资料,原来是被windows2008的文件缓存吃尽了,这是windows20 ...

  7. Linux网络编程--进程间通信(一)

    进程间通信简介(摘自<Linux网络编程>p85) AT&T 在 UNIX System V 中引入了几种新的进程通讯方式,即消息队列( MessageQueues),信号量( s ...

  8. linux下使用FreeRDP 连接 Windows 远程桌面

    linux下使用FreeRDP 连接 Windows 远程桌面   简介 FreeRDP 是一款开源的远程桌面系统,支持多种平台, 在 ubuntu 中使用 FreeRDP 可以很方便的登录到 win ...

  9. 浅谈js数据类型识别方法

    js有6种基本数据类型  Undefined , Null , Boolean , Number , String ,Symbol和一种引用类型Object,下面我们就来一一看穿,哦不,识别他们. t ...

  10. Arison [JS]window.location获取url各项参数详解

    https://www.cnblogs.com/Arison/p/5286368.html 对于这样一个URL代码如下 复制代码 http://www.php230.com :80/fisker/po ...