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. Mysql批量更新速度慢的解决方案

    批量更新的时候不能用子查询 where shop_orderform_id in( select shop_orderform_id from `shop_orderform` where user_ ...

  2. Entity Framework 基于Oracle的code first 问题汇总

    1. 在code first 在数据库中建表时,需要指定schema, 默认是dbo, 需要改成我们的oracle登录名 protected override void OnModelCreating ...

  3. webjars-jquery的引用

    什么是WebJars WebJars以jar包的形式来使用前端的各种框架.组件,如jquery.bootstrap WebJars将客户端(浏览器)资源(JavaScript,Css等)打成jar包文 ...

  4. node.js 之 http 架设

    Node.js 安装配置 下载node.js安装mis 打开:cmd cd到node.js安装目录下 输入nodejs --version 显示版本号,证明安装成功 在其根目录下建server.js ...

  5. javaScript实现点击按钮直接打印

    很多网站都有此功能,当浏览到底部时都会有一个打印按钮,点击打印按钮就可以完成打印功能,功能非常不错,人性化,代码非常的简单. 一.只要调用window.print()函数就可以实现打印当前页面 < ...

  6. css tips —— 在css中完成国际化

    前提 在日常处理国际化的时候,通常是将key通过类似intl.xx(key)转换为对应环境的文案,可是如果需要在css中加入对应逻辑应该怎么做呢(比如在after的伪元素中显示不同的文案),毕竟在cs ...

  7. spring mvc: json练习

    spring mvc: json练习 本例需要用到的json包: 如下: jackson-databind jackson-core jackson-annotations <!-- https ...

  8. Git的基础学习

    https://www.w3cschool.cn/git/git-install-setup.html 一.安装 Git官网下载,安装,操作步骤可以百度 二.用户信息配置 配置个人用户名称和邮箱地址: ...

  9. App压力测试MonkeyRunner整理

    压力测试结果:CRASH:崩溃,应用程序在使用过程中,非正常退出ANR:Application Not Responding 命令很多,不用死记,用到复制.粘贴就行,达到目的最重要. 简单通俗易懂点讲 ...

  10. 每天学一点---图形图像GDI编程

    首先先了解什么是 GDI 呢?GDI 是从 Windows 95 到 Windows 2000 随附的旧版绘图装置接口 (Graphics Device Interface), 是属于绘图方面的 AP ...