随笔分类 -  自定义控件(视图)2期

自定义控件(视图)2期笔记14:自定义视图之View事件分发 dispatchTouchEvent,onTouch,onTouchEvent,onClick逻辑顺序过程
摘要:1. 这里我们先从案例角度说明dispatchTouchEvent,onTouch,onTouchEvent,onClick逻辑顺序过程: (1)首先我们重写一个MyButton 继承自 Button,代码如下: (2)来到主布局文件activity_main.xml,如下: (3)测试MainAc 阅读全文

posted @ 2016-07-29 16:21 鸿钧老祖 阅读(1905) 评论(0) 推荐(1) 编辑

自定义控件(视图)2期笔记13:View的滑动冲突之 内部拦截法
摘要:1. 内部拦截法: 父容器不拦截事件,所有的事件全部都传递给子元素,如果子元素需要此事件就直接消耗掉,否则就交给父容器进行处理。 这种方法和Android中的事件分发机制不一样,需要配合requestDisallowInterceptTouchEvent方法才能正常工作,使用起来较外部拦截法稍显负责 阅读全文

posted @ 2016-07-24 14:18 鸿钧老祖 阅读(704) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记12:View的滑动冲突之 外部拦截法
摘要:1. 外部拦截法: 点击事件通过父容器拦截处理,如果父容器需要就拦截,不需要就不拦截。 这种方法比较符合事件分发机制。外部拦截法需要重写父容器的onInterceptTouchEvent方法,在内部做相应的拦截即可。 这种方法的伪代码,如下: (1)在onInterceptTouchEvent方法之 阅读全文

posted @ 2016-07-24 12:53 鸿钧老祖 阅读(672) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记11:View的滑动冲突之 概述
摘要:1. 引入: 滑动冲突可以说是日常开发中比较常见的一类问题,也是比较让人头疼的一类问题,尤其是在使用第三方框架的时候,两个原本完美的控件,组合在一起之后,忽然发现整个世界都不好了。 那到底是为什么会产生滑动冲突呢 ? 答:其实在界面中只要存在内外两层同时可以滑动,这个时候就会产生滑动冲突。 2. 常 阅读全文

posted @ 2016-07-24 12:22 鸿钧老祖 阅读(181) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记10:自定义视图之View事件分发机制("瀑布流"的案例)
摘要:1. Touch事件的传递: 图解Touch事件的传递,如下: 当我们点击子View 02内部的Button控件时候,我们就触发了Touch事件。 • 这个Touch事件首先传递给了顶级父View,于是这个顶级父View开始遍历自己的子view(父View 01 和 父View 02 是顶级父Vie 阅读全文

posted @ 2015-10-04 16:57 鸿钧老祖 阅读(324) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记09:自定义视图之继承自ViewGroup(仿ViewPager效果案例)
摘要:1. 这里我们继承已有ViewGroup实现自定义控件,模拟出来ViewPager的效果,如下: (1)实现的效果图如下: (2)实现步骤: • 自定义view继承viewGroup • 重写onLayout方法,为每一个子View确定位置 • 重写onTouchEvent方法,监听touch事件, 阅读全文

posted @ 2015-09-30 16:57 鸿钧老祖 阅读(189) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记08:自定义控件之 9patch图说明
摘要:1. 何为 9patch图 ? 它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片;所谓"*.9.png"这是Android os里所支持的一种特殊的图片格式,用它可以实现部分拉伸;这种图片是经过"9patch"进行特殊处理过的,如果不处理的话,直接用PNG图就会有失真 阅读全文

posted @ 2015-09-30 16:03 鸿钧老祖 阅读(212) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记07:自定义控件之 自定义属性(开关按钮案例的优化)
摘要:1.先前,我们编好的开关按钮的项目工程,如下: 2. 下面我们要使用自定义的属性优化这个开关按钮,如下: (1)第1步,我们在res/values文件夹下,新建一个attrs.xml文件,如下: 其中attrs.xml,如下: (2)第2步,在布局文件activity_main.xml文件中使用上面 阅读全文

posted @ 2015-09-29 20:21 鸿钧老祖 阅读(201) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记06:自定义控件之 自定义属性
摘要:1. 为新控件添加自定义的属性: 主要步骤: (1)在attrs.xml文件中声明属性,有 属性名:name 和 格式:format: 所有的format类型,如下: (2)在布局文件中使用新属性,使用之前必须先声明自己的命名空间,如: 说明: xmlns 是XML name space 的缩写; 阅读全文

posted @ 2015-09-28 10:18 鸿钧老祖 阅读(198) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记05:自定义控件之继承自View(滑动开关)
摘要:1. 开关按钮点击效果,如下: 2. 继承已有View实现自定义View 3. 下面通过一个案例实现滑动开关的案例: (1)新建一个新的Android工程,命名为" 开关按钮",接下来我们按照上面的步骤来:自定义类MyToggleButton继承自View。 (2)编写设计activity_main 阅读全文

posted @ 2015-09-27 13:43 鸿钧老祖 阅读(219) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记04:自定义控件之使用系统控件(下拉菜单框)
摘要:1. 下拉菜单效果图如下: 在EditText的右边放置一个小箭头的图片,点击图片,在EditText的下方弹出一个popupWindow,并对popupWindow进行一些设置即得到想要的效果。 2. 下面通过一个案例演示上面的效果: (1)新建一个Android工程,命名为" 下拉菜单 ",同时 阅读全文

posted @ 2015-09-26 21:56 鸿钧老祖 阅读(260) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记03:自定义控件之使用系统控件(优酷案例之广告条Viewpager)
摘要:1.首先我们看看运行效果,如下: 2. 下面就是详细实现这个效果的过程: (1)新建一个Android工程,命名为"广告条的效果",如下: (2)这里用到一个控件ViewPager,这个控件是在android-support-v4.jar(google提供扩展工具包)之中。这个包里面工具控件使用要使 阅读全文

posted @ 2015-09-23 08:11 鸿钧老祖 阅读(326) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记02:自定义控件之使用系统控件(优酷案例之环形菜单布局)
摘要:1.首先我们看看效果图: 这是优酷布局效果图: 2. 下面是我们最终编写的程序的效果图: 3. 下面就是详细演示这个效果的实现过程 (1)新建一个Android工程,命名为"优酷菜单",如下: (2)这里的图片资源都是美工开发好的给我们的,如下: 我们把这些图片拷贝到res/drawable(工程图 阅读全文

posted @ 2015-09-22 12:24 鸿钧老祖 阅读(297) 评论(0) 推荐(0) 编辑

自定义控件(视图)2期笔记01:自定义控件之自定义View的步骤
摘要:1. 根据Android Developers官网的介绍,自定义控件你需要以下的步骤: (1)创建View (2)处理View的布局 (3)绘制View (4)与用户进行交互 (5)优化已定义的View 上面列出的五项就是android官方给出的自定义控件的步骤。 每个步骤里面又包括了很多细小的知识 阅读全文

posted @ 2015-09-22 10:52 鸿钧老祖 阅读(213) 评论(0) 推荐(0) 编辑

导航