Android中使用ImageViewSwitcher实现图片切换轮播导航效果
摘要:前面写过了使用ViewFlipper和ViewPager实现屏幕中视图切换的效果(ViewPager未实现轮播)附链接: Android中使用ViewFlipper实现屏幕切换 Android中使用ViewPager实现屏幕页面切换和页面切换效果 今天我们在换一种实现方式ImageViewSwitc
阅读全文
JAVA模板方法设计模式(从现实生活角度理解代码原理)
摘要:概述: 定义一个功能的框架(骨架),一部分功能是确定的,一部分功能是不确定的,先把确定的部分实现,把不确定的部分延迟到子类中实现。 实现该模式的关键步骤: 第一步:抽象类,实现模板方法,定义功能(确定的以及不确定的)的框架。 第二步:具体类,实现抽象类中的抽象方法,已完成完整的功能。 老规矩,最近想
阅读全文
Android中使用ExpandableListView实现好友分组
摘要:一个视图显示垂直滚动两级列表中的条目。这不同于列表视图,允许两个层次,类似于QQ的好友分组。要实现这个效果的整体思路为: 1.要给ExpandableListView 设置适配器,那么必须先设置数据源。 2.数据源,就是此处的适配器类,此方法继承了BaseExpandableListAdapter,
阅读全文
Android中使用ViewPager实现屏幕页面切换和页面切换效果
摘要:之前关于如何实现屏幕页面切换,写过一篇博文《Android中使用ViewFlipper实现屏幕切换》,相比ViewFlipper,ViewPager更适用复杂的视图切换,而且Viewpager有自己的adapter,这也让其适应复杂对象,实现数据的动态加载。 ViewPager是谷歌官方给我们提供的
阅读全文
JAVA装饰者模式(从现实生活角度理解代码原理)
摘要:装饰者模式可以动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 该模式的适用环境为: (1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。 (2)处理那些可以撤消的职责。 (3)当不能采用生成子类的方法进行扩充时。一种情况是,可能有大
阅读全文
Android中使用ListView实现分页刷新(线程休眠模拟)
摘要:当要显示的数据过多时,为了更好的提升用户感知,在很多APP中都会使用分页刷新显示,比如浏览新闻,向下滑动到当前ListView的最后一条信息(item)时,会提示刷新加载,然后加载更新后的内容。此过程大致分以下几步: 1.当前Activity implements OnScallListenner;
阅读全文
Android中使用ViewFlipper实现屏幕页面切换(关于坐标轴的问题已补充更改)
摘要:屏幕切换指的是在同一个Activity内屏幕间的切换,ViewFlipper继承了Framelayout类,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果。如下动图: 该类有如下几个和动画相关的函数: setInAnimation:设置View进入屏幕时候使
阅读全文
Android中的AlertDialog使用示例五(自定义对话框)
摘要:在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。AlertDialog中定义的一些对话框往往无法满足我们关于对话框的需求,这时我们就需要通过自定义对
阅读全文
Android中的AlertDialog使用示例四(多项选择确定对话框)
摘要:在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。下面我们简单模拟一个皇帝选妃的选择确定对话框(多选),如下图: Java实现代码: 大家可以多多交流
阅读全文
JAVA适配器模式(从现实生活角度理解代码原理)
摘要:说道JAVA中的适配器模式,不得不引用该设计模式的固定表述“适配器模式(Adapter ):将一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作”。该模式其实类似于90年代那会的稳压器,当时的电压没有现在这样稳定,看电视的时候经常会出现闪屏的
阅读全文
JAVA简单工厂模式(从现实生活角度理解代码原理)
摘要:简单工厂模式(Simple Factory),说他简单是因为我们可以将此模式比作一个简单的民间作坊,他们只有固定的生产线生产固定的产品。也可以称他为静态工厂设计模式,类似于之前提到过静态代理设计模式,一条生产线生产一种产品(一个代理代理一种业务),为了方便大家理解,我们将KFC比作一个简单的工厂,实
阅读全文
Android中的AlertDialog使用示例三(单向选择确定对话框)
摘要:在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。下面我们简单模拟一个挑媳妇的选择确定对话框(单选)对话框,不同于示例二之处在于本次只要不确定就可以后
阅读全文
Android中的AlertDialog使用示例二(普通选项对话框)
摘要:在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。下面我们简单模拟一个选花魁的简单普通选项(单选)对话框,如下图: Layout界面代码: Java功
阅读全文
JAVA动态代理模式(从现实生活角度理解代码原理)
摘要:所谓动态代理,即通过代理类:Proxy的代理,接口和实现类之间可以不直接发生联系,而可以在运行期(Runtime)实现动态关联。 java动态代理主要是使用java.lang.reflect包中的两个类。 InvocationHandler类 public Object invoke(Object
阅读全文
Android中GridView通过自定义适配器(未优化)实现图文视图排列
摘要:Android中GridView组件用来以网格方式排列视图,与矩阵类似,当屏幕上有很多元素(文字、图片或其他元素)需要显示时,可以使用该组件。下面我们通过代码实现如下图例(为了方便截图,将事件处理(土司)设置到屏幕顶部) Layout下gridview.xml布局文件: anroid:numColu
阅读全文
Android中的AlertDialog使用示例一(警告对话框)
摘要:在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。下面我们模拟卸载应用程序时弹出的最为普通的警告对话框,如下图: layout布局界面代码示例: Ja
阅读全文
Android中通过线程实现更新ProgressDialog(对话进度条)
摘要:作为开发者我们需要经常站在用户角度考虑问题,比如在应用商城下载软件时,当用户点击下载按钮,则会有下载进度提示页面出现,现在我们通过线程休眠的方式模拟下载进度更新的演示,如图(这里为了截图方便设置对话进度条位于屏幕上方): layout界面代码(仅部署一个按钮): Java代码实现(通过线程实现模拟下
阅读全文
JAVA静态代理模式(从现实生活角度理解代码原理)
摘要:代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 代理模式说白了就是“真实对象”的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。 在这实现代码之前,先讲一个简单的生活故事,我们都知道我们周边有很多公司有房屋买卖或租赁的业务,比如链家(LianJia),
阅读全文