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. Sql Server数据库链接字符串参数说明

               DataSource,//要连接到的 SQL Server 实例的名称或网络地址              FailoverPartner,//在主服务器停机时要连接到的伙伴服务 ...

  2. 【Detection】R-FCN: Object Detection via Region-based Fully Convolutional Networks论文分析

    目录 0. Paper link 1. Overview 2. position-sensitive score maps 2.1 Background 2.2 position-sensitive ...

  3. linux怎么上真正的国际互联网

    1.安装git yum install -y git 2.执行git clone git@github.com:XX-net/XX-Net.git 3.升级python到python 2.7(妈妈说p ...

  4. 关于推荐库位 java前端与SQL语句后面的结合

    ----------------------------------------------------------------------------------- select a1.id,a1. ...

  5. 用Chrome查看微信访问需要OAuth2.0网页授权的页面

    在PC浏览器打开某网站页面提示页面错误,是因为进行了OAuth2.0网页授权 有以下限制, 1.必须在微信打开 2.微信页面授权 其中第一步比较容易实现,修改下ua(user-agent),让其携带“ ...

  6. Module 的加载实现

    浏览器加载 传统方法 HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本. <!-- 页面内嵌的脚本 --> <script type=&q ...

  7. TIME_WAIT和CLOSE_WAIT

    先看下三次握手四次挥手的状态变化: 通常会遇到下面两种情况: 服务器保持了大量TIME_WAIT状态 服务器保持了大量CLOSE_WAIT状态 因为linux分配给一个用户的文件句柄是有限的,而TIM ...

  8. setTimout执行时间

    在浏览器中,JavaScript引擎是单线程执行的.也就是说,在同一时间内,只能有一段代码被JavaScript引擎执行.页面加载时,JavaScript引擎会顺序执行页面上所有JavaScript代 ...

  9. TileMode(平铺模式) 枚举的成员:

    TileMode(平铺模式) 枚举的成员:   成员名称 说明   FlipX 与 Tile 相同,只不过图块的交替列被水平翻转. 基本图块本身不翻转.   FlipXY FlipX 和 FlipY ...

  10. vim 正则 捕获

    在正规表达式中使用 \( 和 \) 符号括起正规表达式,即可在后面使用\1 \2等变量来访问捕获的内容. 将捕获内容前后交换,如下: :s/\(\haha\)\(hehe\)/\\/