- 浏览: 414558 次
- 性别:
- 来自: 北京
最新评论
-
yadongliang:
this.class.getClassLoader().getResourceAsStream -
q316085319:
分享一篇android适配的好文章给你们,http://www ...
android 屏幕适配问题 -
wangyuheng:
一直不明白 多表操作的时候 应该怎么办 对应哪个domain ...
j2ee分层设计 -
humanchair:
"我比较喜欢搞清楚一个技术本身的发展历程,简而言之就 ...
Linux内存管理详解 -
Alex_SHT_JAVA:
写的还不错,简单易懂,3Q
android中CallBack的理解
文章列表
原文 http://blog.fangjie.info/2016/07/14/我对Retrofit的认识/
Retrofit的想的文章很多,先罗列下 我在看过觉得不错的几篇文章:
Retrofit分析-漂亮的解耦套路 (配套视频) 特别是课时5 讲的很不错
Retrofit分析-经典设计模式案例
这两篇文章都是stay写的,觉得真心赞。当然我也不重复他文章里面的内容了,读者们完全可以直接看他的文章。当然我写这篇文章,主要想自我总结下,谈谈自己的认识而已。
首先Retrofit之所以这么火。我觉得他里面设计模式用的好,特别是适配器模式那里。总体来 ...
onLayout方法是ViewGroup中子View的布局方法,用于放置子View的位置。放置子View很简单,只需在重写onLayout方法, 然后获取子View的实例,调用子View的layout方法实现布局。在实际开发中,一般要配合onMeasure测量方法一起使用。
onLayout方法:
?
1
2
3
@Override
protected abstract void onLayout(boolean changed,
int l, int t, int r, int b);
该方 ...
如何使用-9Path工具
- 博客分类:
- Android
1、什么是9Path
它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片
2、什么是"*.9.png"
"*.9.png"是Android os里所支持的一种特殊的图片格式,用它可以实现部分拉伸,这种图片是经过9Path进行特殊处理过的,如果不处理的话,直接用PNG图就会有失真,拉伸不正常的现象出现。
3、9Path在哪里呢?
在Android SDK路径下X:/android sdk/tools里你会找到一个【draw9Path.bat】,双击启动9Path,官方名:NinePat ...
刚过完自己的本命年,新的一年希望自己有个新的开始,祝自己在新的一年里一帆风顺,同时也祝广大的朋友们新年新气象,收获多多!
一、android中view的layout过程总概
Layout过程其实就是父视图按照子视图的大小及布局参数将子视图放在窗口的合适的位置上。
视图的布局过程是从ViewRoot对象调调用根视图的layout()方法开始,接着layout()方法调用根视图的onLayout()方法,onLayout()方法会对所包含的子视图逐一执行layout操作,如果子视图是ViewGroup子类对象,则继续调用子视图的layout(),重复这一过程。如果子 ...
一、android中view的measure过程总概
视图大小计算的过程是从根视图measure()方法开始,接着该方法会调用根视图的onMeasure()方法,onMeasure()方法会对所包含的子视图逐一执行measure()方法,如果子视图是ViewGroup子类对象(LinearLayout、FrameLayout、RelativeLayout等布局),则继续调用子视图的measure()方法,重复这一过程。如果子视图是View子类对象(Button、EditText、TextView、ImageView等),则在子视图重载的onMeasure方法内部不需要进行对子视图进行mea ...
导致View重建的原因有三个:
1、视图本身内部状态变化引起重绘;
2、view树内部添加或者删除子view;
3、View本身的大小及可见性发生变化。
这三种情况最后都直接或者间接的调用到了三个方法,invalidate()、requestLayout()
和requestFocus(),而这三个函数最终都会调用到ViewRoot中的schueduleTraversals()方法,
该方法发起一个异步消息,消息处理中调用performTraversals()开始对整个View进行重新遍历。
能导致调用invalidate()方法的包含三种情况:当应用程序改变视图显示属 ...
转载请说明出处:http://blog.csdn.net/ff20081528/article/details/17353869
一、准备知识
1、视图坐标与布局坐标的区别如下图所示:
上图是一个坐标系,这个坐标系是无边无际的。这个无边无际的坐标系即视图坐标。手机屏幕可视范围内的坐标即手机屏幕的布局坐标(坐标原点是屏幕的左上方的(0,0)位置)即A点。屏幕里面的子视图里面可视范围内的坐标即子视图的布局坐标(坐标原点是子视图的左上方的(0,0)位置)即B点。
2、android中布局关系
二、例子说明事件分发过程
这里我写了一个布局文件,展示效果如上图。当我 ...
Android-view事件传递机制
- 博客分类:
- Android
Android中dispatchTouchEvent,onInterceptTouchEvent, onTouchEvent的理解
http://blog.csdn.net/chenzhiqin20/article/details/8816364
android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->A ...
http://blog.csdn.net/rhljiayou/article/details/7212620
1、首先说一下canvas类:
Class Overview
The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive ( ...
Canvas drawText
- 博客分类:
- Android
String str ="测试字符串";
int len = str.getBytes().length; int w = len *16; int h =32; Bitmap strBitmap =Bitmap.createBitmap(w, h,Bitmap.Config.RGB_565); Canvas c =newCanvas(strBitmap); Paint paint =newPaint(Paint.ANTI_ALIAS_FLAG);
Canvas的save和restore
- 博客分类:
- Android
http://www.cnblogs.com/xirihanlin/archive/2009/07/24/1530246.html
在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法。
onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。
在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢?
❑ save:用来保存
http://www.cnblogs.com/mengdd/p/3332882.html
Android中View的绘制过程
当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点。
绘制过程从布局的根节点开始,从根节点开始测量和绘制整个layout tree。
每一个ViewGroup 负责要求它的每一个孩子被绘制,每一个View负责绘制自己。
因为整个树是按顺序遍历的,所以父节点会先被绘制,而兄弟节点会按照它们在树中出现的顺序被绘制。
绘制是一个两遍(two ...
http://blog.csdn.net/qinjuning/article/details/7110211
前言: 本文是我读《Android内核剖析》第13章----View工作原理总结而成的,在此膜拜下作者 。同时真挚地向渴望了解
Android 框架层的网友,推荐这本书,希望你们能够在Android开发里学到更多的知识 。
整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为
根据之前设置的
http://blog.csdn.net/huangbiao86/article/details/9053429
这两天帮同事解决一个问题;
View.getDrawingCache获得数据始终为null,但是在某些设备上并不为null,纠结够 久啊,网上说了一些原因:
1) (mViewFlags & WILL_NOT_CACHE_DRAWING) == WILL_NOT_CACHE_DRAWING 这个值为true
2) (mViewFlags & DRAWING_CACHE_ENABLED) == DRAWING_CACHE_ENABLED 为 ...
LinearLayout 自动换行
- 博客分类:
- Android
由于前段时间项目中使用 到了自动换行的线性布局,本来打算用表格布局在里面一个个的用Java代码添加ImageView的,但是添加的View控件是不确定的,因为得靠服务器 的数据返回,就这样手动用Java代码画布局的方式就这样夭折了, ...