自定义view
文章平均质量分 90
PPPeyton
下一站
展开
-
px、dp和sp,这些单位有什么区别?
相信每个Android新手都会遇到这个问题,希望这篇帖子能让你不再纠结。px:即像素,1px代表屏幕上一个物理的像素点;px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guide,下同)。偶尔用到px的情况,是需要画1像素表格线或阴影线的时候,用其他单位如dp会显得模转载 2017-09-24 16:09:30 · 693 阅读 · 0 评论 -
Android屏幕各尺寸的获取方法详解
在开发中我们会遇到各种需要获得屏幕参数的场景,当中也有不少坑,所以现在就记录一下这些参数的获取方式。以免再入坑。物理屏幕宽高一、底部没有虚拟按键这里获取到的宽高,就是你眼睛能看到的,屏幕亮着的地方的宽高。/** * 获取屏幕的宽 * * @param context * @return */ public sta转载 2017-11-28 13:38:11 · 936 阅读 · 0 评论 -
ImageView常用属性解析
转自:http://www.runoob.com/w3cnote/android-tutorial-imageview.html本节引言:本节介绍的UI基础控件是:ImageView(图像视图),见名知意,就是用来显示图像的一个View或者说控件! 官方API:ImageView;本节讲解的内容如下:ImageView的src属性和blackground的区别;转载 2017-11-25 14:46:00 · 3147 阅读 · 1 评论 -
Bitmap和Drawable的关系、区别
Bitmap- 称作位图,一般位图的文件格式后缀为bmpDrawable- 作为Android平下通用的图形对象,它可以装载常用格式的图像比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。Bitmap是Drawable . Drawable不一定是Bitmap Drawable在内存占用和绘制速度这两个非常关键的点上转载 2017-12-21 20:32:55 · 6539 阅读 · 0 评论 -
TextView预渲染研究
转自:http://ragnraok.github.io/textview-pre-render-research.htmlAndroid中的TextView是整个framework中最复杂的控件之一,负责Android中显示文本的大部分工作,framwork中的许多控件也直接或者间接的继承于TextView,例如Button,EditText等。其内部实现也相当复杂,单论代码行数来说转载 2017-12-04 21:53:51 · 374 阅读 · 0 评论 -
Android View深度分析requestLayout、invalidate与postInvalidate
转自:http://www.jianshu.com/p/effe9b4333de前言前几篇文章中,笔者对View的三大工作流程进行了详细分析,而这篇文章则详细讲述与三大工作流程密切相关的两个方法,分别是requestLayout和invalidate,如果对Viwe的三个工作流程不熟悉的读者,可以先看看前几篇文章,以便能更容易理解这篇文章的内容。requestLayout转载 2017-11-24 17:15:19 · 337 阅读 · 0 评论 -
自定义view中onSizeChanged、onFinishInflate方法调用时机
转自:http://blog.csdn.net/anhenzhufeng/article/details/72886181一般自定义View或ViewGroup基本上都会去实现onMeasure、onLayout、onDraw方法 还有另外两个方法是onFinishInflate和onSizeChanged onFinishInflateonFinishInflate方法只有在布局文件中加载Vi转载 2017-12-01 12:56:26 · 7682 阅读 · 1 评论 -
Android开发之神奇的Fading Edge,让你的View更有层次感!
转自:http://blog.csdn.net/u012702547/article/details/52913538为什么要说Fading Edge?这个在我们平时开发中并不怎么起眼的API其实是View绘制过程中重要的一步,绕不过的坎!可是要理解源码,我们就得先知道这个Fading Edge到底是干什么的?从字面来理解,这个是实现边缘渐变效果的,OK,那我们先来看看效果图:转载 2017-11-30 14:14:45 · 700 阅读 · 0 评论 -
自定义控件详解(三):Canvas效果变换
转自:http://www.cnblogs.com/xqxacm/p/6667739.htmlCanvas 画布从前面我们已经知道了 Canvas 类可以绘出 各种形状。这里学习一下Canvas 类的变换效果(平移,旋转等) 首先需要了解一下Canvas 画布, 我们用Canvas.DrawXXX()方法的时候并不是在一张画布上进行绘制。而是每次调用.D转载 2017-11-17 20:04:48 · 342 阅读 · 0 评论 -
自定义控件详解(二):Path类 相关用法
Path:路径绘制路径:void drawPath (Path path, Paint paint)Path 可以绘制的路径一、直线路径 1、基本方法 void moveTo (float startX, float startY) 直线的开始点;即将直线路径的绘制点定在(startX,startY)的位置转载 2017-11-17 20:02:19 · 483 阅读 · 0 评论 -
Android字符串进阶之三:字体属性及测量(FontMetrics)
转自:http://mikewang.blog.51cto.com/3826268/871765/最近的一个模块正好用到字体的相关内容,整理出来。(一) 字体的几个参数 ,以Android API文档定义为准,见下图要点如下:1. 基准点是baseline2. Ascent是baseline之上至字符最高处的距离3. Descent是ba转载 2017-11-16 17:05:01 · 302 阅读 · 0 评论 -
Android View源码解读:浅谈DecorView与ViewRootImpl
转载自:http://blog.csdn.net/a553181867/article/details/51477040前言对于Android开发者来说,View无疑是开发中经常接触的,包括它的事件分发机制、测量、布局、绘制流程等,如果要自定义一个View,那么应该对以上流程有所了解、研究。本系列文章将会为大家带来View的工作流程详细解析。在深入接触View的测量、布局、转载 2017-10-17 11:22:31 · 203 阅读 · 0 评论 -
图解MotionEvent中getRawX、getRawY与getX、getY以及View中的getScrollX、getScrollY
转载自:http://www.cnblogs.com/virtual-young/p/4578424.html1.getRawX、getRawY与getX、getY的区别在编写android的自定义控件,或者判断用户手势操作时,往往需要使用MotionEvent中的getRawX()、getRawY()与getX()、getY()取得触摸点在X轴与Y轴上的距离,这四个方法都转载 2017-10-18 10:40:53 · 359 阅读 · 0 评论 -
Android基础入门教程——8.3.1 三个绘图工具类详解
转载自:http://blog.csdn.net/coder_pig/article/details/49176351本节引言:上两小节我们学习了Drawable以及Bitmap,都是加载好图片的,而本节我们要学习的绘图相关的 一些API,他们分别是Canvas(画布),Paint(画笔),Path(路径)!本节非常重要,同时也是我们 自定义View的基础哦~好的,转载 2017-09-28 13:14:07 · 348 阅读 · 0 评论 -
View.post() 不靠谱的地方你知道吗?
View.post() 方法,在不同版本的差异,根本原因还是在于 Api23 和 Api24 中,executeActions() 方法的调用时机不同,导致 View 在没有 mAttachInfo 对象的时候,表现不一样了。序这篇文章之前发过一遍,但是有读者指出来有些地方描述的有问题,我后来再看的时候也觉得有问题,所以把之前的文章删掉(主线是没有问题的,删掉只是是避免转载 2017-09-24 13:14:21 · 726 阅读 · 0 评论 -
Android中Display及DisplayMetrics理解
Android已经提供DisplayMetircs类可以很方便的获取分辨率。下面简要介绍DisplayMetics类:Andorid.util包下的DisplayMetrics类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。为了获取DisplayMetrics成员,首先初始化一个对象如下:DisplayMetrics metrics =new DisplayMetrics()转载 2017-11-28 13:40:11 · 2056 阅读 · 0 评论