-
CheckBox setOnCheckedChangeListener大坑
在recycleview列表中有CheckBox,在使用中,有些操作,无可避免的要刷新适配器,这样需要一个变量记录上一状态是否被选中了,在hodler中需要这样cbCheckShop.setChecked(model.isCheck);//适配器刷新后还原勾选状态有这么一个场景,我需要点击CheckBox之后去刷新适配器,马上就想到了setOnCheckedChangeListener,于是有以下......2,181 4 2017-06-20 09:35
-
Android自定义flowlayout
packagecom.rongke.mifan.jiagang.view.flowLayout;importandroid.content.Context;importandroid.content.res.TypedArray;importandroid.os.Handler;importandroid.util.AttributeSet;importandroid.view.View;impo......2,186 0 2017-06-19 09:11
-
安卓自定义星星评分条
自定义步骤:1.继承LinearLayout2.遍历添加星星图片3.设置图片监听4.提供公共方法评分数packagecom.rongke.mifan.starbarapplication;importandroid.content.Context;importandroid.content.res.TypedArray;importandroid.util.AttributeSet;importa......1,416 0 2017-06-16 11:22
-
设计模式 六大原则
原则一:单一职责原则 单一功能原则(Singleresponsibilityprinciple)规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的(这个类的)服务都应该严密的和该 功能平行(功能平......1,485 0 2017-06-15 22:53
-
设计模式三 观察者模式
观察者模式归类为行为设计模式,观察者模式也叫做也叫作发布-订阅模式,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。打个搞笑比方,警察抓小偷,警察是观察者,小偷是被观察者,小偷出狱后,警察告诉小偷,你下次作案的时候,告诉我一声,我去抓你,小偷说,好啊。结果下次小偷作案的时候,真的告诉警察了。 &n......1,497 0 2017-06-10 21:06
-
设计模式二 创建者模式
英文叫BuilderPattern。其核心思想是将一个“复杂对象的构建算法”与它的“部件及组装方式”分离,使得构件算法和组装方式可以独立应对变化;复用同样的构建算法可以创建不同的表示,不同的构建过程可以复用相同的部件组装方式。简而言之,具有同样的创建工序,不同的细节,创建出的同一对象,但是又具有不同的属性的对象;比如不同的人炒一道菜,流程......1,169 0 2017-06-10 18:05
-
设计模式一 单例模式
为什么使用单例模式?第一、控制资源的使用,通过线程同步来控制资源的并发访问;第二、控制实例产生的数量,达到节约资源的目的。第三、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。最佳单例模式:双重校验锁单例模式packagecom.example.fwms.designmode;/***CreatedbyFWMSon2017/6/9.*/......1,917 0 2017-06-09 20:33
-
Android 自定义多选下拉菜单
首先我们来看一下设计图,头部分为三个菜单按钮,点击每个按钮显示下拉选项,点击下拉选项选中内容显示到菜单按钮上。接下来我对这个设计的实现进行拆分,如下:1.自定义菜单按钮,主要有两个方法,选中和未选中的显示状态,设置菜单文本方法2.将多个自定义菜单按钮放入LinearLayout组成菜单按钮组3.自定义下拉列表数据4.将自定义下拉列表放置到popuwindow5.对菜单点击监听,显示对应的popuw......2,600 0 2017-06-09 10:53
-
-
Android 消息滚动条
自定义步骤:1.继承 TextSwitcher2.设置滚出和滚入动画3.设置滚动数据4.设置线程定时滚动效果图:packagewww.autotextview.com.autotextview.View;importandroid.content.Context;importandroid.graphics.Camera;importandroid.graphics.Matrix;imp......1,708 0 2017-06-06 17:00
-
自适应LayoutManager
UI设计追求偏亮,布局上实现越来越复杂,完全没有想想Android程序员的感受了,嵌套中嵌套,也是够了,没有固定的高度,recycleview的高度不在好计算,办法还是有的,就是重写onMeasure()方法,下面给出AutoLayoutManager和AutoGridLayoutManager原理上是一样的packagecom.zyf.fwms.commonlibrary.base.......2,371 0 2017-06-06 15:12
-
recycleview滚动中禁止图片加载
滚动中禁止图片加载,无疑要在滚动事件(onScrollStateChanged)中做对应的操作。 recycleview的滚动中有三种状态: 状态为0时:当前屏幕停止滚动; //需要加载图片状态为1时:屏幕在滚动且用户仍在触碰或手指还在屏幕上;//禁止加载图片状态为2时:随用户的操作,屏幕上产生的惯性滑动;&......2,126 0 2017-06-06 13:00
-
重复造轮子,打造自己的底部导航栏
第一步在布局添加自定义view android:id="@+id/nv_tab" <?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.and......2,191 2 2017-06-05 13:46
-
XRecyclerView 源码分析
XRecyclerView是一款非常好用的自定义recycleview,友好的支持下拉刷新上拉加载,添加头布局和底布局,目前使用没有bug,可根据自己的需求进行修改,代码注释明了,代码风格良好,非常通俗易懂,废话不多说,走一走源码。(必须要对recycleview有一定的了解,才好理解)适配器:WrapAdapter分析构造方法里面引入头布局和底布局集合,使用集合方式非常方便我们添加多个布局,还有......1,858 0 2017-05-27 10:46
-
使用rxjava+retrofit的注意事项
当某个activity或者fragment销毁了,而网络请求还没有中断,等数据返回了,数据设置到布局上,而布局已经 不存在了,这就导致了空指针,所以在onDestroy要去结束该网络请求; 1.将每个网络请求放到订阅管理器里面 2.在销毁的时候取消订阅放到基类的onDestroy小技巧:在请求请求的封装的时候,就将每个请求添加到订阅管理器,这就......1,561 0 2017-05-27 09:56