- 博客(15)
- 收藏
- 关注
原创 MeasureSpect之三种模式(补)
前言之前在自定义控件的第二篇(点我)在onMeasure里面介绍了MeasureSpect有三种模式,但是总感觉没有将的很清楚,这里再写一篇作为补充.MeasureSpect三种模式三种模式是EXACTLY,UNSPECIFIED,AT_MOST,分别代表精确大小,不精确大小,最大值;通过MeasureSpect.getMode就可以获得该值,那么MeasureSpect到底是由什么决定的呢?Mea
2016-08-23 23:52:47 3069 1
原创 自定义VIew之圆形百分比效果
效果首先看一下效果思路实现很简单,就是通过进度百分比来画一段圆弧:1.画一个圆形,设置画笔线的宽度2.画一段圆弧,设置画笔颜色3.画另外一段圆弧4.开启线程通过标记切换画圆弧public class CirCleView extends View { private Paint mPaint; private int mCircleWidth; private Rect
2016-08-22 00:58:58 768
原创 自定义View之仿QQ消息滑动删除
效果仿QQ的滑动删除,效果如下: 实现思路1.通过include标签引入内容和删除部分2.需要继承ViewGroup3.要控制子View的摆放,实现onLayout,需要测量,实现onMeasure4.在onMeasure需要测量孩子的大小,设置自己的真实大小5.在onLaout里面初始化子View的摆放6.接下来就是控制触摸事件了(down,move,up)7.处理拖地可以在onTo
2016-08-22 00:48:01 545
原创 自定义控件之动态进度View
效果首先看一下效果 实现思路仔细看这个效果,将整个过程一个一个的分解:分解 1.画一个箭头 2.箭头渐变 3.弹出圆球 4.画圆弧 5.画勾每个过程通过一个进度百分比来记录进度,然后就是按顺序一个个的画出来public class LoadingView extends View { // 开始绘制的标志 private boolean m
2016-08-22 00:31:52 365
原创 自定义view之刻度盘
效果自己动手写了一个自定义圆盘,效果如下: 思路一些颜色,字体细节没有调,自定义属性也没有加上去,这些都比较简单!说下思路吧: 这个控件看起来比较复杂,其实经过分解也很简单,这些东西都是通过canvas,paint画出来的,麻烦一点的是计算坐标.下面是几个注意点:1.使用getWidth()时需要测量onMeasure.2.Paint创建的事件不要在onDraw.3.画刻度的时候,可以通过正
2016-08-22 00:16:04 514
原创 Android Touch事件方法机制
事件分发机制 Android的事件方法遵循一定的流程,即方法,拦截,消费.分别对应于以下方法:dispatchTouchEvent: 分发事件onInterceptTouchEvent:拦截事件onTouchEvent:消费事件能够响应这些方法的有ViewGroup,View,Activity.Touch流程类别Touch事件流程有两种一种是down,另外是move,up,这两种事件的分发机制
2016-08-21 12:12:04 479
原创 自定义View相关API
-一些方法的调用onFinishInflate: 加载布局完成之后调用获取位置: getX():相对于父控件 getRowX():相对于手机屏幕 getScrollX:屏幕左上角的坐标 scrollTo(x,y):移动的是手机的屏幕,参照物是(0,0)坐标 scrolBy:移动的是手机的屏幕,参照物是上次的坐标canvas相关 canvas.drawBitmap();画bitmap
2016-08-20 23:21:09 513
原创 自定义View
自定义控件的分类自定义控件有两种:自定义View,自定义ViewGroupViewView或者View的一个子类,不能有子View,提供具体功能,比如:系统自带的View: Button,用来用户点击的View TextView,显示文本的View EditText,实现输入 ......自定义View: 继承自View,实现某种效果....ViewGro
2016-08-14 23:36:12 263
原创 通过Process 遇到的坑
之前在这篇博客讲到了process,我们知道Android的组件默认是运行在一个进程里面,名称与包名相同;在Android的清单文件里面我们可以指定组件运行在指定的process里面,process以‘:’开头,应用程序会为组件创建一个私有的进程,process以小写字母开头,则会创建一个全局的进程。遇到的问题在项目中有一个DialerProvider用来处理打电话的逻辑,这个组件是运行在remot
2016-08-08 23:48:50 908
原创 代理模式之静态代理
代理模式为其他对象提供一种代理,以达到对这个对象的访问控制。 可以理解为一个客户不想或者不能直接访问一个对象,可以通过代理来作为中介来实现对这个对象的访问。结构图AbstractObject:定义了ProxyObject和RealObject的公用的接口,这样在任何使用RealObject的地方都可以用ProxyObject。ProxyObject:保存了RealObject的一个引用,通
2016-08-07 23:04:38 338 4
转载 Android 之BlockingQueue
BlockingQueueBlockingQueue 是新增的Concurrent包中的一种阻塞队列特点当BlockingQueue为空, 从队列取数据时会让线程等待状态,直到能取出非空的数据,线程会被唤醒。 当BlockingQueue是满的,存数据到队列时线程也会进入等待状态,直到有空间,线程才会被唤醒。 A Queue that additionally supports operat
2016-08-04 00:07:58 3922
原创 java安全之加密技术
加密方式对称加密算法只有一个密钥key进行加密解密,可以逆向加解密。1.凯撒密码古代有名的加密算法,将加密的数据进行一定的以为,属于对称加密,密钥key = 2(int 值)。这种加密非常简单,只需要对相应的明文移位就得到了加密后的密文,如:明文为abc,key = 2(移2位),那么密文为cde,原理非常的简单。这种加密在后来明显不能满足时代发展的需要,通过**频度分析法**,可以快速的破解。
2016-08-02 18:02:17 3639
原创 Android 消息推送
消息推送目的1.让服务器能及时发送消息,通知客户端2.推送消息,提升日活等实现方案一轮询客户端每隔一段时间向服务器发出请求,获取最新的消息特点:1.适用于当服务器的数据以固定的频率更新,如:股票行情。2.在某些应用场景下,效率就比较低(网络/电量消耗),如:推送最新消息3.技术简单,容易实现发送短信特点:效率高,最及时,同时,费用最贵应用场景:土豪公司,不差钱使用开源项目:1.An
2016-08-01 00:11:55 391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人