Android学习笔记(六)ViewPager

使用PagerAdapter实现ViewPager的页面滑动功能:

1.布局上,ViewPager的显示默认会占据整个显示屏,需要指定大小

2.其运行过程如下:首先通过getCount()获取需要显示的页面的数目,但并非全部页面都一次性加载,而是默认3个页面,保存上一个页面,预先加载下一个页面;因此每次对于3个页面以外不需要的页面会调用destroyItem(container,position,obj)方法销毁,预加载则会调用instantiateItem(container,position)实例化页面;其中要注意的是instantiateItem返回的object对象即为destroyItem的object参数,提供了一个方便的删除页面的机会,因此只需通过container.removeView((View)obj)方法即可删除相应的页面

时间: 2024-08-10 19:12:50

Android学习笔记(六)ViewPager的相关文章

Android学习笔记六:六大布局

六大界面布局方式包括: 线性布局(LinearLayout).帧布局(FrameLayout).表格布局(TableLayout).相对布局(RelativeLayout).绝对布局(AbsoluteLayout)和网格布局(GridLayout) . 1. LinearLayout线性布局 LinearLayout容器中的组件一个挨一个排列,通过控制android:orientation属性,可控制各组件是横向排列还是纵向排列. LinearLayout的常用XML属性及相关方法 XML属性

android学习笔记六——Spinner

Spinner ==> Spinner是ViewGroup的间接子类,因此也可作为容器使用. 常用属性: android:prompt——设置该列表框选择框的提示信息 android:entries——使数组资源设置该下拉列表框的列表项目 注意:在使用Spinner时,如果可预先指导列表框内容信息,则不需要编写代码,只需要为Spinner指定 android:entries  属性即可实现一个下拉列表框. 实例一:最简单的使用方式 <?xml version="1.0" e

Android学习笔记六:finish、onDestory、system.exit(0)的区别

Activity.finish():Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法. 当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放.因为移出了栈,所以当 你点击手机上面的“back”按键的时候,也不会再找到这个Activity. Activity.o

Android学习笔记(十六)——碎片之间进行交互(附源码)

碎片之间进行交互 点击下载源码 很多时候,一个活动中包含一个或者多个碎片,它们彼此协作,向用户展示一个一致的UI.在这种情况下,碎片之间能进行通信并交换数据十分重要. 1.使用上一篇中创建的同一个项目,在fragment.xml中添加TextView的标识id: android:id="@+id/lblFragment1" 2.在fragment2.xml中添加一个Button,用于与fragment1进行交互: <Button android:id="@+id/btn

六、Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

【转】 Pro Android学习笔记(七六):服务(1):local和remote

文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ Android提供服务,服务是运行在后台的组件,没有UI,独立于activity的生命周期.有两种类型的服务:local services和remote services.本地服务是只能被本应用调用,而远端服务则可以被其他应用调用.远端服务通过AIDL(Android Interface Definition Language)描述.在服务

【转】 Pro Android学习笔记(六七):HTTP服务(1):HTTP GET

目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用service提供很多功能,例如利用Google Maps API,现在我们将聚焦在HTTP serice中. Android SDK提供HttpClient,和J2EE中的接口非常相似.最常用的就是HTTP GET和HTTP POST.相关内容也可以阅读Android学习笔记(四五):互联网通信-Htt

【转】 Pro Android学习笔记(六九):HTTP服务(3):HTTP POST MultiPart

目录(?)[-] 建立测试环境 开发环境导入第三方JAR HTTP Post Multipart小例子 HTTP POST不仅可以通过键值对传递参数,还可以携带更为复杂的参数,例如文件.HTTP Post支持携带body,content-type为multipart.本次我们将尝试通过http post上传一个小文件. 建立测试环境 上传文件的测试环境很难找,下载了Tomcat,想装一个环境,打开后,发现忘得也差不多,要看帮助,比较麻烦,下面是我上传文件到189网盘抓的包,上传一个图片文件,整个

Android学习笔记(二二): 多页显示-Tag的使用

在手机屏幕中,Tab也是比较常用的,通常和List结合,例如我们手机的通信录.下面是Tag的结构. TabHost是整个Tab的容器,包括两部分,TabWidget和FrameLayout.TabWidget就是每个tab的标签,FrameLayout则是tab内容. 如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhost TabWidget必须设置android:id为@android:id/tabs F

Pro Android学习笔记(十二):了解Intent(下)

解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键就是component 名字,在<intent-fliter>中声明的其他属性被忽略.对于implicit intent,则根据action,category和data来进行匹配.然而一个intent fliter中可以声明多个actions,多个categories,多个data属性,因此可以满