随笔分类 - 自定义控件
摘要:指示器时间轴在外卖、购物类的APP里会经常用到,效果大概就像下面这样,看了网上很多文章,大都是自己绘制,太麻烦,其实通过ListView就可以实现。<!--more--> 在Activity关联的布局文件activity_main.xml中放置一个ListView,代码如下。由于这个列表只是用于展示
阅读全文
摘要:在银行APP里经常要自定义键盘,例如实现下面这样的效果 <!--more--> 首先在xml文件里定义键盘 keyWidth:每一个按钮的宽度 keyHeight:每一个按钮高度,可以设置百分比 horizontalGap:水平间隔 verticalGap:竖直间隔 Row:一行 每一个按键都将会有
阅读全文
摘要:网上的都是自己绘制的或者图片,我的需求是可以随意的自定义底部和顶部的布局。所以自己重写一个,原理就是直接继承 View 来实现一个刮层,让这个刮层和图片以及文字不产生任何依赖,再结合 FrameLayout 将刮层放置最上一层,刮层之下你想放多少图片文字,图片文字要怎么布局摆放都行。由于是Frame
阅读全文
摘要:使用自定义控件绘制一个圆环,需要重现的方法是OnDraw()实现对view的绘制,从而输出符合自己需求的view控件 <!--more--> 观察圆环的组成部分: 外层圆+中间百分比文字+不断变化进度的弧形圈 >分析:每一个组成部分需要的属性,构成几个关键的自定义属性 1:外层圆的颜色 2:弧形进度
阅读全文
摘要:public class DrawableUtil { /** * 定义一个shape资源 * * @param rgb * @param corneradius * @return */ public static GradientDrawable getDrawable(int rgb, int
阅读全文
摘要:现在有很多圆形图片的库,用来做用户头像等等,那么它的原理是什么呢,其实很简单。 BitMapUtil public class BitMapUtil { /** * 图片缩放 * wf.wh必须不能是int * * @param source * @param wf * @param hf * @r
阅读全文
摘要:滚动回弹效果分析: 首先,创建一个类,继承scrollview,重写ontouch事件,实现伸缩回弹效果。 scroollview节点下只能有一个子节点,这个子节点就是我们要移动的view布局。 第一步:获取要操作的子view布局 第二步:重写onTouch事件监听 分析具体事件: 观察分析得出结论
阅读全文
摘要:自定义控件分类: 1、使用系统控件,实现自定义的效果 2、自己定义一个类继承View ,如textView、ImageView等,通过重写相关的方法来实现新的效果 3、自己定义一个类继承ViewGroup,实现相应的效果 继承view类或viewgroup类,来创建所需要的控件。一般来讲,通过继承已
阅读全文
摘要:粘性控件 (对View的自定义)* 应用场景: 未读提醒的清除* 功能实现: > 1. 画静态图 OK > 2. 把静态的数值变成变量(计算得到真实的变量) OK > 3. 不断地修改变量, 重绘界面, 动起来了. > 4. 功能分析: a. 拖拽超出范围,断开, 松手, 消失 b. 拖拽超出范围,断开,放回去了,恢复 c. 拖拽没超出范围, 松手,弹回去没有布局:MainAc...
阅读全文
摘要:*应用场景: 聊天列表界面,邮件管理界面等条目管理(设为已读, 删除等)*功能实现: 参考 侧滑面板 offsetLeftAndRight , offsetTopAndBottomactivity_main item_list:设置文本区域最小高度,如果不设置和设置分别是这样的这个其实就是ad...
阅读全文
摘要:视差特效 * 应用场景: 微信朋友圈, QQ空间, 微博个人展示,向下拉出,松开回弹* 功能实现: > 1. 重写overScrollBy > 2. 松手之后执行动画, 类型估值器 . activity_main <RelativeLayout xmlns:android="http://schem
阅读全文
摘要:实现这样的效果布局: 字的shape: QuickIndexBar/** * 快速索引 * * 用于根据字母快速定位联系人 * @author poplar * */public class QuickIndexBar extends View { private static final String[] LETTERS = new Str...
阅读全文
摘要:实现这样的效果: ## 侧滑面板(对ViewGroup的自定义)<!--more-->* 应用场景: 扩展主面板的功能* 功能实现: > 1. ViewDragHelper: Google2013年IO大会提出的, > 解决界面控件拖拽移动问题. (v4包下) > 2. mTouchSlop 最小敏
阅读全文
摘要:下拉刷新 1.addHeaderView必须在setAdapter之前调用 2.将paddingTop设置一个headerView高度的负值去隐藏它 getHeight()和getMeasuredHeight()的区别: getMeasuredHeight():获取测量完的高度,只要在onMeasu
阅读全文
摘要:触摸事件 <!--more--> 侧滑菜单 github-SlidingMenu 1.在ViewGroup中,让自己内容移动有以下三个方法个方法: layout(l,t,r,b); offsetTopAndBottom(offset)和offsetLeftAndRight(offset); scro
阅读全文

浙公网安备 33010602011771号