前面几篇介绍的选项的用法,基本上使用TabActivity、ViewPager、已经基本上满足开发需求了。但是这里再介绍一种小技巧,在有的时候,感觉使用前面的ViewPager和Fragment时候,感觉有点大材小用的感觉。

http://blog.csdn.net/xia215266092/article/details/9613897

http://blog.csdn.net/xia215266092/article/details/9613985

http://blog.csdn.net/xia215266092/article/details/9616075

比如下面这种情况,在微博的界面中有个选项卡,全部、我收听的、认证用户,如果使用ViewPager+Fragment,是肯定可以实现的。但是今天我介绍使用ViewFlipper,可以查看api文档,ViewFlipper里面可以有很多类容,但是每次只能显示一个view,这样就基本上满足图片中标签的来回切换功能了。

布局的结构可以如下。

<ViewFlipper>

<ListView/>

<ListView/>

<ListView/>

</ViewFlipper>

下面是切换的页面的方法,shownext和shorpervious,分别是显示上一个和下一个,setDisplayedChild是具体显示某一个子view,传递的参数就是ziview所在的位置。

void showNext()

Manually shows the next child.
void showPrevious()

Manually shows the previous child.
void setDisplayedChild(int
whichChild)

Sets which child view will be displayed.

同时使用ViewFlipper还有另外一个好处就是,可以很方便的自定义切换时候的动画。

void setInAnimation(Animation inAnimation)

Specifies the animation used to animate a View that enters the screen.
void setOutAnimation(Animation outAnimation)

Specifies the animation used to animate a View that exit the screen.

第一个是,当view进来时候的动画,第二是view出去的时候动画,如果动画设置的好,效果也是很不错的,同是如果设置上面的动画,可以设置循环和自动播放所有的页面,类似与Gallery。如果需要了解详细情况,还是需要查看文档。

public class

ViewAnimator

extends FrameLayout

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.widget.ViewAnimator
Known
Direct Subclasses

Known
Indirect Subclasses

ViewAnimator和ViewFlipper、viewSwticher、ImageSwitch、TextSwitcher,基本上功能差不多, 只是适用的对象不一样。

浅谈Android选项卡(四)的更多相关文章

  1. 浅谈Android选项卡(二)

    前面简单介绍了选项卡,下面以及后面的几篇文章介绍下Android选项卡的几种简单实现方法. http://blog.csdn.net/xia215266092/article/details/9613 ...

  2. 浅谈Android选项卡(一)

    选项卡,这样UI设计在很多方面都存在,window,web,ios,Android. 选项卡的主要作用,不用多介绍,可以在有线的空间内,显示出更多内容,同时也是操作起来也很方便.

  3. 浅谈Android选项卡(三)

    上一节介绍了TabActivity的简单用法,但是现在的Api中已经不建议使用了,建议使用Fragment来替代以上的功能,下面介绍下使用Fragment和ViewPager的结合使用. http:/ ...

  4. 安卓开发_浅谈Android动画(四)

    Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1.  ValueAnimator 基本属 ...

  5. 浅谈Android应用保护(一):Android应用逆向的基本方法

    对于未进行保护的Android应用,有很多方法和思路对其进行逆向分析和攻击.使用一些基本的方法,就可以打破对应用安全非常重要的机密性和完整性,实现获取其内部代码.数据,修改其代码逻辑和机制等操作.这篇 ...

  6. 浅谈Android应用性能之内存

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 文/ jaunty [博主导读]在Android开发中,不免会遇到许多OOM现象,一方面可能是由于开 ...

  7. 浅谈Kotlin(四):控制流

    浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 本篇介绍Kotlin ...

  8. 浅谈android代码保护技术_ 加固

    浅谈android代码保护技术_加固 导语 我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk,结果被人反编译了,那心情真心不舒服.虽然我们混淆,做到native层,但 ...

  9. 浅谈Android五大布局

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...

随机推荐

  1. 105. Construct Binary Tree from Preorder and Inorder Traversal (Tree; DFS)

    Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume that ...

  2. Stop单个Coroutine

    public Coroutine StartCoroutine(string methodName, object value = null); Description Starts a corout ...

  3. Windows pip安装失败:no module named pkg_resources

    通常是Setuptools安装出错,下载以下ez_setup.py文件后,先执行:ez_setup.py -U setuptools 重新安装setuptools 通过此ez_setup.py pip ...

  4. MyEclipse不能自动编译解决办法总结

    yEclipse在debug模式下,有时会碰到修改的文件无法自动编译的问题,以下的方法可以逐一尝试一下. 1.确保:Project->build automatically 已经被选上. 2.p ...

  5. IRC聊天指南

    参考https://www.cnblogs.com/fzzl/archive/2011/12/26/2302637.html

  6. CentOS 7 装好系统一些优化

    1.禁用SELINUX vi /etc/sysconfig/selinux  设置为disabled 2.同步时间*/20 * * * * /usr/sbin/ntpdate pool.ntp.org ...

  7. Selenium Webdriver定位元素的几种方式

    原文:http://www.cnblogs.com/tobecrazy/p/4570494.html 工作中使用到记录一下. 主要有: 上传 alter dialog prompt dialog co ...

  8. linux每天一小步---sed命令详解

    1 命令功能 sed是一个相当强大的文件处理编辑工具,sed用来替换,删除,更新文件中的内容.sed以文本行为单位进行处理,一次处理一行内容.首先sed吧当前处理的行存储在临时的缓冲区中(称为模式空间 ...

  9. [CentOS]CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法

    在CentOS环境下编译CPP时报出 undefined reference to `__gxx_personality_v0' collect2: ld 以上错误,调查了一下,加上参数[-lstdc ...

  10. iperf命令 +speedtest-cli

    iperf工具可以用来测量TCP或者是UDP的网络吞吐量,即bandwidth(带宽)测试.  iPerf的主要目标是帮助调整特定路径上的TCP连接. 众所周知,TCP最基本的调整问题是调整TCP窗口 ...