可复用View的PagerAdapter】的更多相关文章

用PagerAdapter的时候会反复调用instantiateItem和destroyItem来创建和销毁View,没有复用性.这里封装了一个可复用View的PagerAdapter,给实现类留下的抽象方法是: /** * 获取view方法,子类实现这个方法来获取渲染View * * @param convertView 如果是null则没有可复用的View,如果非null则是可复用的View * @param position * @return */ protected abstract…
PS:满打满算,差不多三个月没写博客了...前一阵忙的不可开交...总算是可以抽出时间研究研究其他事情了... 学习内容: 1.ListView的复用机制 2.ViewHolder的概念 1.ListView的复用机制   ListView是我们经常使用的一个控件,虽然说都会用,但是却并不一定完全清楚ListView的复用机制,虽然在Android 5.0版本之后提供了RecycleView去替代ListView和GridView,提供了一种插拔式的体验,也就是所谓的模块化.本篇主要针对List…
ListView 针对每个item,要求 adapter "返回一个视图" (getView),也就是说ListView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到ListView的长度,然后根据这个长度,调用getView()一行一行的绘制ListView的每一项.如果你的getCount()返回值是0的话,列表一行都不会显示,如果返回1,就只显示一行.返回几则显示几行.如果我们有几千几万甚至更多的item要显示怎么办?为每个Item创建一个新的View…
首先创建请求队列,一个活动中只需要一个,因此放在Application中: public class MyApplication extends Application{ private static RequestQueue requestQueue; @Override public void onCreate() { super.onCreate(); requestQueue = Volley.newRequestQueue(getApplicationContext()); } pub…
本基类是ViewPager提供填充页面内容的适配器(数据与显示内容之间桥梁).通常,人们不是直接使用本基类的,而是使用这个基类的实现:FragmentPagerAdapter   或者FragmentStatePagerAdapter. 但是,当你不得不实现一个PageAdapter的时候,你至少要实现下面的几个方法: ·        instantiateItem(ViewGroup, int)  /**这个方法,return一個对象,这个对象表明了PagerAdapter适配器选择哪个对象…
效果: ActivityBackgroundImage,java(自定义视图) package com.example.chenshuai.test322; import android.content.Context; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Log; impor…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录简介PagerAdapterFragmentPagerAdapterFragmentStatePagerAdapterViewPager 的预加载getCount 的返回值如何自定义指示器代码ActivityFragmentActivity 的布局Fragment 的布局测试启动…
ViewPager在app开发中十分常见.今天以一个例子详细解读下ViewPager的基础知识. 一.什么是ViewPager 可以这样理解,ViewPager就相当于一个容器,它的里面可以装view作为页面,也可以装Fragment作为页面.例如常用的微信主界面,就可以用ViewPager做出那样的效果.下面是一个直观的效果图,相信你看了,就会明白什么是ViewPager. 效果说明:在模拟器用的是鼠标,在手机上用的就应该是手指来滑动了,总之就是左右滑动,会出现不同的界面.想想微信主界面是不是…
一.PagerAdapter介绍 PagerAdapter简介 ListView 大家应该都很熟悉吧!ListView 一般都需要一个 Adapter 来填充数据,如 ArrayAdapter.SimpleAdapter.PagerAdapter 就是 ViewPager 的 Adapter,与 ListView 的 Adapter 作用一样. ViewPager->PageAdapter == ListView->BaseAdapter 先看下官方介绍 官方介绍 PageAdapter 类…
前言 相信Android开发者对ListView不会陌生,使用ListView需要设置相应的Adapter才能展示数据.Adapter到底是什么东西?让我们来一探究竟. Adapter p1.png 通过图1我们可以看出Adapter是View和数据之间的桥梁,并为每一个数据项生成相应的View.Adapter是个接口,定义了子类需要实现的方法,最常见的 方法有: getCount(),总共有多少数据项 getItem(),获取对应position 中的item getView(),返回需要展示…
2016-6-19 前言 View轮播效果在app中很常见,一想到左右滑动的效果就很容易想到使用ViewPager来实现.对于像我们常说的banner这样的效果,具备无限滑动的功能是可以用ViewPager实现的,不过使用ViewFlow更简单些. 最近项目里的一个页面的banner功能出了问题,使用的是viewPager + handler实现的,之前的代码实在是设计的过于复杂,就自己重新实现了一遍.整体来说,ViewPager可以实现无限滚动,但方式比较绕. ViewPager的使用 首先来…
  分类: Android高手进阶 Android基础教程 2012-09-14 18:10 29759人阅读 评论(35) 收藏 举报 android相册layoutobjectclassloaderencoding 大家好,相信大家用的ListView控件一定很多的,是竖向滑动的,复用convertView,我们可以加载成千上万的数据,但有时候我们会有 这个需求比如相册,我们想横向滑动,并且数据有好多,这时候ViewPager控件就派上用场了,ViewPager使用时候我们需要导入第三方包…
转载本博客,请注明出处:http://blog.csdn.net/qq_32059827点击打开链接 ViewPage使用之一就是轮播广告,就以此为出发点,来详细解析一下ViewPage的使用和加载机制. 首先直接上一个damo,在代码中我也直接给出了详细的解释.然后,再在案例后边,对加载机制做一个解释. Demo: 首先,配置文件:(注意引入全类名) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/and…
2016-6-19 前言 View轮播效果在app中很常见,一想到左右滑动的效果就很容易想到使用ViewPager来实现.对于像我们常说的banner这样的效果,具备无限滑动的功能是可以用ViewPager实现的,不过使用ViewFlow更简单些. 最近项目里的一个页面的banner功能出了问题,使用的是viewPager + handler实现的,之前的代码实在是设计的过于复杂,就自己重新实现了一遍.整体来说,ViewPager可以实现无限滚动,但方式比较绕. ViewPager的使用 首先来…
很多App都有这种效果,特别一些电商类的App,顶部每隔几秒钟会向右翻页显示下张图片,用来作推广或者内容展示用的.今天来简单地模仿一下,还自带一个自动跳动的小功能(底部有几个小点,图片移动的时候,点的状态也在变化),用定时器来实现不难. import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.os.Handler…
一.开端 真的是忙完这一阵子就可以忙下一阵子了啊... 最近在做一个angularJS+Ionic的移动端项目...记录一些技巧,方便自己以后查阅,也方便需要的人可以看一看...^_^ 二.基础原则了解 ①angular的一些入门了解 一.基础知识 1.angular放弃了IE8 2.四大核心分别是mvc.模块化.指令系统.双向数据绑定   二.一些原则 1.不要复用controller,一个控制器一般只负责一小块视图. 2.不要在controller里面操作dom. 3.不要在contorll…
Android RecyclerView 是Android5.0推出来的,导入support-v7包即可使用. 个人体验来说,RecyclerView绝对是一款功能强大的控件. 首先总结下RecyclerView的特点: 1.支持不同方向,不同排版模式,实现多种展现数据的形式,涵盖了ListView,GridView,瀑布流等数据表现的形式 2.内部实现了回收机制,无需我们考虑View的复用情况 3.取消了onItemClick等点击事件,需要自己手动去写 -------------------…
SQLite数据库 // 自定义类MyOpenHelper继承自SQLiteOpenHelper MyOpenHelper oh = new MyOpenHelper(getContext(), "school.db", null, 1); // 获取数据库对象,如果数据库不存在,会自动创建数据库,数据库文件名为school.db,数据库版本为1 SQLiteDatabase db = oh.getWritableDatabase(); getWritableDatabase():以读…
http://developer.android.com/training/displaying-bitmaps/index.html .手机内存资源有限 .Bitmap占用的内存大 .App有时需要同时加载多张bitmap到内存 一张 2592x1936 的照片,在默认 ARGB_8888 的情况下,占用的内存: 19MB (2592*1936*4 bytes) 1.图片内存占用的计算 android 3.1之前 (level 12): int bytes = bmp.getRowBytes(…
一个好的APP不仅有美观,好看的界面,更需要良好的性能和稳定性.作为一名开发人员,需要理解界面设计原则并写出优秀的界面设计代码. 本章主要讲述基本控件的使用,界面布局及一些常用的界面设计属性. 1.常用布局 (1) LinearLayout 相对布局 android:android:layout_weight=”1”      //百分比属性 android:layout_above                        //表示与某个元素绑定后,在某个元素之上 android:layo…
概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用. 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:ListView.GridView. 那么有了ListView.GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecor…
这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如何使用它呢,与LisstView类似,我们也需要一个适配器,他就是PagerAdapter.看一下api的图片, ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样.分三个步骤来使用它: 1.在住布局文件里加入 [html] view plaincopy   <</spa…
//加上头部 和底部 - (void)viewDidLoad { [super viewDidLoad]; [self tableView]; // 设置行高 self.tableView.rowHeight = ; // 分隔线 self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; /** 32位真彩色 ARGB 2^8 * 2^8 * 2^8 * 2^8 = 2^32 = 2^2 * 2^10 * 2…
概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用. 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:ListView.GridView. 那么有了ListView.GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecor…
我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如ListView上有100个Item,一屏只显示10个Item,我们知道getView()中convertView是用来复用View对象的,因为一个Item的对应一个View对象,而ImageView控件就是View对象通过findViewById()获得的,而我们在复用View对象时,同时这个Ima…
Atitit.mvc的趋势与未来attilax总结 1. Mvc的分类 (服务端mvc  vs客户端mvc)1 2. Mvc的趋势,从服务端mvc正在转向客户端mvc1 2.1. 更加完善的分离..http rest json Spa的兴起,1 2.2. 更好的view复用性.客户端mvc技术带来更好的跨技术体系(java php net),1 2.3. 热部署(script化)hotdeploy2 2.4. 更好的ui 流程跳转复用性()界面页面page ui的跳转控制,也在向客户端转移, 和…
先看这段源码介绍: /** * Called when a view created by this adapter has been detached from its window. * * <p>Becoming detached from the window is not necessarily a permanent condition; * the consumer of an Adapter's views may choose to cache views offscreen…
ListView的工作原理 首先来了解一下ListView的工作原理(可参见http://mobile.51cto.com/abased-410889.htm),如图: ListView 针对每个item,要求 adapter “返回一个视图” (getView),也就是说ListView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到ListView的长度,然后根据这个长度,调用getView()一行一行的绘制ListView的每一项.如果你的getCount()返回…
1.ViewPager 实现效果图 2.ViewPager 实现功能 ViewPager类提供了多界面切换的新效果,新效果有如下特征: <1>当前显示一组界面中的其中一个界面: <2>当用户通过左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分: <3>滑动结束后,界面自动跳转到当前选择的界面中. 3.ViewPager详细说明 android-support-v4.jar 是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以…
1.项目结构 现在的MVP模式越来越流行.就默认采用了.如果项目比较小的话: app——Application Activity Fragment Presenter等的顶级父类 config——API,常量表等 model——数据层 bean——数据模型 presenter——MVP的P view——MVP的V utils——工具类集合 widget——各个可复用View集合 如果项目比较大,上面的方式一定会造成presenter和view里近百个文件.看瞎眼系列.推荐下列方式: app co…