
【Android 自定义控件】
pepe_士奇
看的懂,看的开
展开
-
自定义控件1---TextView
先总结下自定义View的步骤: 1、自定义View的属性 2、在View的构造方法中获得我们自定义的属性 [ 3、重写onMesure ] 4、重写onDraw我把3用[]标出了,所以说3不一定是必须的,当然了大部分情况下还是需要重写的。 1、自定义View的属性,首先在res/values/ 下建立一个attrs.xml , 在里面定义我们的属性和声明我们的整个样原创 2015-12-16 16:25:14 · 581 阅读 · 0 评论 -
Paint---PorterDuffXfermode
API—PorterDuffXfermode | Android 开发者 文档内容很少,我们可以看到他的构造方法:/** * Create an xfermode that uses the specified porter-duff mode. * * @param mode The porter-duff mode that is applied *原创 2015-12-21 15:14:04 · 798 阅读 · 0 评论 -
Paint---Shader
Android中提供了Shader类专门用来渲染图像以及一些几何图形,Shader下面包括几个直接子类,分别是BitmapShader、ComposeShader、LinearGradient、RadialGradient、SweepGradient。BitmapShader主要用来渲染图像 BitmapShader shader=new BitmapShader(Bitmap bitmap, T原创 2015-12-24 18:07:12 · 1002 阅读 · 1 评论 -
Android---绘图
API—android.graphics | Android 开发者 绘图是自定义控件的基础,核心是三个类Paint、Canvas、Path。1)Paint(画笔): 就是画笔,用于设置绘制风格,如:线宽(笔触粗细),颜色,透明度和填充风格等 直接使用无参构造方法就可以创建Paint实例: Paint paint = new Paint( ); 我们可以通过下述方法来设置Paint原创 2015-12-31 12:00:01 · 605 阅读 · 0 评论 -
Paint---Typeface
Android系统默认支持三种字体,分别为:“sans”,“serif”,“monospace”。 android.graphic.typeface字体类: 本类的常量静态定义,首先为字体类型(typeface)名称 字体类型(typeface) 含义 Typeface DEFAULT 默认正常字体对象 Typeface DEFAULT_BOLD 默认的字体对象,注意:这实原创 2016-01-01 11:28:26 · 1217 阅读 · 0 评论 -
Paint---ColorFilter
API—android_ColorFilter用法,参考,示例_API之家,最大的中文API社区PathEffect 颜色过滤的意思 我们一般使用的是他的三个子类:ColorMatrixColorFilter:色彩矩阵颜色过滤器,通过色彩矩阵与原色彩的计算得出色彩 API—android_ColorMatrixColorFilter用法,参考,示例_API之家,最大的中文API社区Colo原创 2016-01-01 14:12:20 · 861 阅读 · 0 评论 -
Canvas---Matrix和drawBitmapMash
API—Matrix - Android SDK | Android Developers引用: 8.3.18 Canvas API详解(Part 3)Matrix和drawBitmapMash | 菜鸟教程原创 2016-01-01 16:59:55 · 726 阅读 · 0 评论 -
Canvas---clip
源码下载引用: android Graphics(三):区域(Range) - harvic - 博客频道 - youkuaiyun.com Android 2D Graphics学习(二)、Canvas篇2、Canvas裁剪和Region、RegionIterator - Kilnn - 博客频道 - youkuaiyun.com 8.3.17 Canvas API详解(Part 2)剪切方法合集 | 菜鸟教程原创 2016-01-01 17:01:16 · 673 阅读 · 0 评论 -
Paint---PathEffect(路径效果)
API—PathEffect| Android 开发者PathEffect见文知意很明显就是路径效果的意思 我们一般使用的是他的六个子类:ComposePathEffect 构造方法:ComposePathEffect(PathEffect outerpe, PathEffect innerpe)组合效果,会首先将innerpe变现出来,接着在innerpe的基础上来增加outerpe效果,原创 2016-01-01 13:10:17 · 1161 阅读 · 6 评论 -
API-TypedArray
TypedArray | Android Developers https://developer.android.google.cn/reference/android/content/res/TypedArray.html简介:Container for an array of values that were retrieved with obtainStyledAttributes(Att原创 2017-05-15 11:18:59 · 513 阅读 · 0 评论 -
Paint---Xfermode、 PixelXorXfermode
API—Xfermode | Android 开发者先上一张随处可见的图片: 在Paint—1—简介 的Paint方法中有这样一个方法:setXfermode(Xfermode xfermode):设置图形重叠时的处理方式,如合并,取交集或并集, 经常用来制作橡皮的擦除效果!/** * Set or clear the xfermode object. - 设置或清除xfermode对象;原创 2015-12-21 02:15:46 · 1405 阅读 · 0 评论 -
Paint---MaskFilter(面具)
在Paint—1—简介 的Paint方法中有这样一个方法:setMaskFilter(MaskFilter maskfilter): 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等! 而我们一般不会直接去用这个MaskFilter,而是使用它的两个子类:BlurMaskFilter:指定了一个模糊的样式和半径来处理Paint的边缘。EmbossMaskFi原创 2015-12-20 23:14:49 · 954 阅读 · 0 评论 -
Path
API—Path | Android 开发者 Path(路径) 简单点说就是描点,连线~在创建好我们的Path路径后,可以调用Canvas的drawPath(path,paint) 将图形绘制出来~嵌套类Path.Direction: Path.Direction.CW:顺时针方向Path.Direction.CCW:逆时针方向 API—android_Path.Direction用原创 2015-12-20 22:02:21 · 752 阅读 · 0 评论 -
Paint---FontMetrics
这一篇接着讲PaintPaint.FontMetrics,字体属性及测量。API—Paint.FontMetrics | Android 开发者 5个属性,介绍如下: 基准点是baseline Ascent是baseline之上至字符最高处的距离 Descent是baseline之下至字符最低处的距离 Leading文档说的很含糊,其实就是行间距 Top指的是指的是最高字原创 2015-12-20 20:16:46 · 1526 阅读 · 0 评论 -
自定义控件7---自定义属性二
相信很多同学在看完上一篇博客自定义控件6—自定义属性一 之后,一定有三个以为: 问题1 format =”reference|color”,比如自定义一个按钮,背景有可能是颜色也有可能是图片,该如何去获取该属性? 问题2 TypedValue是什么鬼东西? 问题3 getFraction(index, base, pbase, defV原创 2015-12-18 16:29:36 · 700 阅读 · 0 评论 -
自定义控件5---TypedArray和AttributeSet
API—TypedArray | Android 开发者 API—AttributeSet | Android 开发者1 TypedArray的两种初始化方式:// TypedArray typedArray=context.getTheme().obtainStyledAttributes(R.styleable.mtextview); TypedArray typed原创 2015-12-18 12:01:51 · 1014 阅读 · 0 评论 -
自定义控件3---TextView
再来回顾一下自定义View的步骤: 1、自定义View的属性 2、在View的构造方法中获得我们自定义的属性 [ 3、重写onMesure ] 4、重写onDraw相信看过前两篇博客的同学,对这个步骤已经差不多熟悉了。现在我对第一篇博客中的TextViw有些疑问: 1 如果在填写控件大小的时候,填大了,超过了屏幕的宽度 如下:<com.pe原创 2015-12-16 19:34:13 · 659 阅读 · 0 评论 -
自定义控件2---圆形进度条
先来复习一下自定义View的步骤: 1、自定义View的属性 2、在View的构造方法中获得我们自定义的属性 [ 3、重写onMesure ] 4、重写onDraw1、自定义View的属性, 在attrs.xml里面定义我们的属性和声明我们的整个样式。 <declare-styleable name="RoundProgressBar"><!--原创 2015-12-16 17:52:49 · 581 阅读 · 0 评论 -
自定义控件6---自定义属性一
自定义属性的分类自定义属性的声明自定义属性的获取一:自定义属性的分类 1 reference 参考指定Theme中资源ID,这个类型意思就是你传的值可以说引用资源 2 string 字符串,如果你想别人既能直接写值也可以用类似"@string/test"引用资源的方式,可以写成format="string/reference" 3 color原创 2015-11-28 13:50:09 · 702 阅读 · 0 评论 -
自定义控件8---视频音量调控
先来看效果图: 先来分析下这个控件: 1 外围是个圆环,圆环中间有空隙,每个圆环的长度一样,圆环的边缘是圆的 2 圆环中间一张图片或者一个颜色的填充 思考问题: 1 既然是自定义控件,那么圆弧一定是画出来的,怎么画? 2 知道怎么画圆弧了,那么如何确定画多少个圆弧? 3 第一个方式,设置圆弧的个数和长度,以此来确定间隙长度;第二个方式,设置间隙的长度和圆弧的个数,以此来确定圆弧的长度。原创 2015-12-19 10:22:52 · 624 阅读 · 0 评论 -
自定义控件4---MeasureSpec
API—View.MeasureSpec | Android 开发者 在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种: 1.MeasureSpec.EXACTLY(精确模式) 具体数值,比如android:layou转载 2015-11-28 15:57:25 · 581 阅读 · 0 评论 -
自定义控件1
0508 算作是学习记录吧! 自定义控件有两部分:1 自定义View 2自定义ViewGroup 先从自定义View来吧。 第一个:圆角图片 继承View之后,有四个构造方法: public CircleImg(Context context) { super(context); } public CircleImg(Context context, @原创 2017-05-08 16:57:35 · 506 阅读 · 0 评论 -
工具类
TypedArray Android开发学习之TypedArray类 - richerg85的专栏 - 博客频道 - youkuaiyun.com TypedValue Android Dimension转换算法原理分析 - 学习笔记 - ITeye技术网站 Menu 1Android的onCreateOptionsMenu()创建菜单Menu详解 2Android学习笔记(3)——添原创 2015-11-28 16:24:22 · 781 阅读 · 0 评论 -
Canvas
API—Canvas | Android 开发者 Canvas介绍 Canvas(画布):可以理解成画布。嵌套类1.Canvas.EdgeTypeAPI—Canvas.EdgeType | Android 开发者2.Canvas.VertexModeAPI—Canvas.VertexMode | Android 开发者常量 标记 说明 ALL_SAVE_FLAG 保存全部的状态原创 2015-12-20 21:57:11 · 2050 阅读 · 0 评论 -
Paint
API—Paint | Android 开发者 Paint即画笔,用于设置绘制风格,如:线宽(笔触粗细),颜色,透明度和填充风格等, 大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。嵌套类Paint.Align ,设置字符位置,字符以坐标(x,y)为源点。Paint.Cap,线段断点形状(默认Paint.Cap.BUTT):Paint.FontMetrics,字体属性及原创 2015-12-31 15:12:43 · 1767 阅读 · 0 评论