- 博客(9)
- 收藏
- 关注
原创 第一行代码第二版--第一章
一:Android系统架构Android大致可以分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。@Override protected void onLayout(boolean changed, int l, int t, int r, int b) { for (int i = 0; i < getChildCount(); i++) { View child = getChi
2017-02-27 14:58:05
378
原创 自定义view实战笔记--饼图demo
1:想要从view的中心开始绘制可以如下 canvas.save(); canvas.translate(mWidth / 2, mHeight / 2); canvas.restore();2:数学相关的计算多用:Math类 —三角函数等等3:想要在一组数据中查找value在这组数据中的位置,可以先排序,再用二分查找法(binarySearch)找
2017-02-09 17:29:16
278
原创 自定义view实战笔记--侧滑菜单
当在自定义view中需要滑动的时候,由于scrollTo(x,y)的参数与移动方向相反(正数为向上|向右移动),所以可以在自定义view中做再次封装: /** * 修正一下移动的方向 * * @param x * @param y */ @Override public void scrollTo(int x, int y) {
2017-02-07 13:47:52
287
原创 自定义view实战笔记--快速索引
一:在Java中,自定义类想要比较需要实现Comparable接口,并重写compareTo方法二:可以使用工具类Collections.sort(haoHanArrayList);对自定义集合进行排序三:除以2,可以使用乘以0.5f,这样不容易丢失精度四:要让字母显示在父控件的中间,可以如下://1 绘制 A-Z 26个字母 for (int i = 0; i < LETTERS.
2017-02-07 11:45:49
216
原创 自定义view实战笔记--视差特效
视差特效动态的改变一个控件的宽高可以在属性动画中不断修改布局参数的值,然后调用该控件的iv_header.requestLayout();方法// 把当前的头布局的高度currentHeight恢复到初始高度orignalHeight final int currentHeight = iv_header.getHeight(); // 300 -> 1
2017-02-07 11:02:43
262
原创 Measure(0,0)的探讨
最近研究自定义view,遇到一个问题,在自定义ViewGroup的时候经常会在父view的onMeasure方法中调用如下代码去测量子view的宽高: @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //测量ViewGroup本身的宽高,由于没有wrap_co
2017-01-12 15:55:03
763
原创 下拉刷新对数据的处理
下拉刷新和上拉加载对数据的处理:方法一:如下图所示,下拉刷新直接在原来的list集合头部添加获取的数据(一般需要做去重处理,如果后台做了直接添加)上拉加载直接addAll就可以了方法二:下啦刷新时,在获取到数据之后把原来list集合的数据clear()清空,然后再addAll(),注意不要再一开始下拉刷新就clear(),那样会列表显示会有点小问题上拉加载和上面
2016-12-24 15:40:56
1714
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人