
自定义view
自定义view
安果移不动
精通Android,Swift,Flutter,Python,Php,按键精灵,易语言。曾为华为录制精品课程,拥有资质:按键精灵顶级证书;
产品秀:https://www.anguomob.com
B站:https://space.bilibili.com/482453235
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android drawText获取text宽度
private int getTextWidth(Paint paint, String str) { int iRet = 0; if (str != null && str.length() > 0) { int len = str.length(); float[] widths...原创 2020-04-08 11:01:34 · 310 阅读 · 0 评论 -
android中getWidth()和getMeasuredWidth()之间的区别
先给出一个结论:getMeasuredWidth()获取的是view原始的大小,也就是这个view在XML文件中配置或者是代码中设置的大小。getWidth()获取的是这个view最终显示的大小,这个大小有可能等于原始的大小也有可能不等于原始大小。 从源码上开始分析一下这两个方法的区别。首先来看一下getMeasuredWidth()这个方法。 1 public f原创 2017-12-21 20:32:06 · 589 阅读 · 0 评论 -
自定义View的宽高获取
自定义View的时候经常少不了获取View的宽高信息,当然不一定是自定义View的时候才会需要获取宽高信息,其他情况下我们也会有这样的需求,获取方式和获取的时机也十分讲究.下面分别从这几个api讲起:1.构造方法2.onFinishInflate3.onSizeChanged4.onMeasure5.onWindowFocusChanged6.onL原创 2017-12-21 20:40:25 · 1087 阅读 · 0 评论 -
View 添加阴影效果
CrazyShadow项目地址:Hitomis/CrazyShadow简介:为你的 View 添加阴影效果就是一句代码的事.说明:CrazyShadow 是一个专门为 View 添加阴影效果的库。 设计 CrazyShadow 主要是因为自己一直想为最近编写的SpinMenu 与 ThumbnailMenu 还有将要完成的 ActivitySwitch 添加阴影效果原创 2017-12-21 21:09:36 · 771 阅读 · 0 评论 -
Android Paint类介绍以及浮雕和阴影效果的设置
Paint类介绍Paint即画笔,在绘制文本和图形用它来设置图形颜色, 样式等绘制信息。1.图形绘制setARGB(int a,int r,int g,int b);设置绘制的颜色,a代表透明度,r,g,b代表颜色值。setAlpha(int a);设置绘制图形的透明度。setColor(int color);设置绘制的颜色,使用颜色原创 2017-12-21 21:14:44 · 1483 阅读 · 0 评论 -
canvas setShadowLayer()画阴影不起作用
setShadowLayer(float radius, float dx, float dy, int shadowColor)radius表示阴影的扩散半径;dx和dy表示阴影平面上的偏移值;shadowColor就不说了阴影颜色。注意: 这个方法不支持硬件加速,所以我们要测试时必须先关闭硬件加速。加上这一句 setLayerType(LAYER_TYPE_原创 2017-12-21 21:18:36 · 1811 阅读 · 1 评论 -
【android】绘制圆环的三种方式
在android中要绘制圆环,暂时知道有三种方式。分别是:一、设置画笔的style为stoke,绘制圆这里是先绘制内圆,然后绘制圆环(圆环的宽度就是paint设置的paint.setStrokeWidth的宽度),最后绘制外圆。请看核心源码:[java] view plaincopy"http:原创 2017-12-22 10:32:14 · 8109 阅读 · 0 评论 -
android自定义View之(四)------一键清除动画
1.前言: 自己也是参考别人的一些自定义view例子,学习了一些基本的自定义view的方法。今天,我参考了一些资料,再结合自已的一些理解,做了一个一键清除的动画。当年,我实现这个是用了几张图片,采用Frame anination的方式来实现,但是这个方法,不灵活,并且占资源,下面,我就采用自定义view的方法来实现这个功能。2.效果图:原创 2017-11-28 11:41:39 · 2003 阅读 · 0 评论 -
保持宽高比的自定义View
fixheiview就是高度依据宽高比来自动变化的控件由于最近梯子大多都挂了,所以没有使用gradle构建,防止有些人需要重新下载gradle的一些jar包,而没有网络。但是使用idea 构建的,android studio用户可以任意打开。代码已经传到github:请点击我跳转做这个控件的目的 就是之前有轮播图,然后轮播图的宽度肯定是要fill_parent,高度肯定以宽度为基准和一个约定的宽高原创 2018-01-02 16:02:41 · 392 阅读 · 0 评论 -
android canvas drawText()文字居中
最近也是在学习自定义控件,以前只自己随便玩了下,一直觉得比较难,正好现在工作轻松,每天闲着就看看书看看帖子学习自定义控件,你还别说自定义控件学起来还是蛮有趣的!!这里也跟大家分享下我关于drawText()文字居中的方法.先附上drawText()的方法说明说实话当时看了这个,我也没明白这个x,y坐标到底表达的啥意思,还一直以为是绘制文字中心的坐标,后来发现这个原创 2018-01-04 18:08:37 · 370 阅读 · 0 评论 -
Android仿华为天气绘制刻度盘
效果图在下面~~~ 可以看到这个自定义控件结合了颜色渐变、动态绘制刻度、动态水球效果。接下来我们就来看看这个效果是如何一步一步实现的。开始自定义控件和很多自定义控件方式一样需要去基础某种View或者某种ViewGroup 我这里选择的是View,如下所示:public class HuaWeiView extends View { /** *原创 2018-01-05 15:17:38 · 493 阅读 · 0 评论 -
android贝塞尔曲线之波浪效果
1 前言为了给我以前的博客填坑,这章讲解贝塞尔曲线的几个常用的应用:1.波浪效果2.qq聊天列表上的沾粘体效果3.翻书页效果4.弹性球效果1234大家如果把这些看懂并掌握,以后做和贝塞尔曲线相关的效果应该都能信手拈来!2 波浪效果 原理分析: 其实这个效果应用了2个阶的贝塞尔曲线来完成的,先看一下原理分析图: 有上面的图可以看出:在屏幕的原创 2018-02-03 20:58:43 · 375 阅读 · 0 评论 -
Android-自定义控件PickerView
前段时间在公司总是有需求『滚动的选择器』,那时候总是用别人写好的来用,感觉心里不是很舒服,最近有时间了自己来写一写,上图:首先分析一下需求:可以滑动滑到两条线里的数据变色滑动完成后必须要把选中的数据放到中间滑动首先说到滑动而且还是自定义的View,我们就会想到各种『scrollBy/scrollTo』等,但是这里有个更简单的方法就是继承自ScrollView,这样就简单了不少,并且还有滚动的监听『...原创 2018-03-22 15:33:35 · 1410 阅读 · 1 评论 -
MeasureSpec中三种模式:UNSPECIFIED,AT_MOST,EXACTLY
在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种:1.精确模式(MeasureSpec.EXACTLY)在这种模式下,尺寸的值是多少,那么这个组件的长或宽就是多少。2.最大模式(MeasureSp原创 2018-03-20 11:06:26 · 6080 阅读 · 1 评论 -
阅读Android源码 MeasureSpec类(API版本:23)
【1 引言】本文来源于一个bug,后来越走越远跑偏了,从LinearLayouy-》View 》-MeasureSpec-》位运算-》计算机的编码(原码反码补码)这已经到计算机组成原理了~~于是权当做一次笔记记录:起源的bug:使用流式布局时( 关于流式布局可见:http://blog.youkuaiyun.com/zxt0601/article/details/50533658),布局内item太多,经过看...原创 2018-03-20 11:08:58 · 291 阅读 · 0 评论 -
Android 画圆弧canvas.drawArc() 详解
public void drawArc(@NonNull RectF oval, float startAngle, float sweepAngle, boolean useCenter, @NonNull Paint paint) { drawArc(oval.left, oval.top, oval.right, oval.bottom, startA原创 2018-03-21 16:08:39 · 1592 阅读 · 0 评论 -
Android自定义View绘制彩色圆弧
效果如下:自定义View代码如下:package com.example.yan;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;import android原创 2018-03-21 16:15:48 · 804 阅读 · 0 评论 -
Android中canvas.save()和canvas.restore()的使用
自己定义控件时经常遇到重写View的Ondraw()方法,Ondraw()方法经常设计到save()和restore()这两个方法.这两个相互匹配出现的,作用是用来保存画布的状态和取出保存的状态的。详细作用例如以下:1.save():用来保存Canvas的状态,save()方法之后的代码,能够调用Canvas的平移、放缩、旋转、裁剪等操作!2.restore():用原创 2017-10-09 09:52:29 · 441 阅读 · 0 评论 -
android圆环
效果图 资源文件 res/drawable/bg_ring.xmlshape xmlns:android="http://schemas.android.com/apk/res/android" android:innerRadius="45dp" android:shape="ring" android:thickness="0.5dp" a原创 2017-08-04 09:31:59 · 573 阅读 · 0 评论 -
ANDROID SHAPE画圆形背景_ANDROID实现角标布局
androidid仿Iphone通知角标的实现、比如QQ是显示数量的角标、以及显示未读信息数量、信息等、Android允许通过xml定义资源、常见的事string、id、integer、dimen等、也可以定义一些图片资源、比如用来做几何的矢量图就非常好用、其中有许多的细节问题、具体需求可以看看google官方的apiShape API:http://developer.android.c原创 2017-03-22 19:27:36 · 2423 阅读 · 0 评论 -
Android 自定义TextView实现文字渐变动画
先来看效果第一种效果的代码如下,主要是结合Shader实现的import android.content.Context;import android.graphics.Canvas;import android.graphics.LinearGradient;import android.graphics.Matrix;import android.graph原创 2017-05-10 18:03:36 · 2452 阅读 · 0 评论 -
Android 自定义控件-Canvas和Paint绘图详解-手把手带你绘制一个时钟.
,Android - Paint基础在自定义控件时,经常需要使用canvas、paint等,在canvas类中,绘画基本都是靠drawXXX()方法来完成的,在这些方法中,很多时候都需要用到paint类型的参数, Paint作为一个非常重要的元素,功能也是非常强大的,这里简单列举一些它的属性和对应的功能.setAntiAlias() //设置画笔的锯齿效果setColor()原创 2017-05-03 21:30:10 · 569 阅读 · 0 评论 -
空心圆和实心圆
查了很多相关资料,发现canvas没有直接绘制实心圆的函数,这里先生就偷了个懒,直接把paint的画笔粗细调的粗一点(画笔粗细必须大过绘制圆的半径),再绘制一个圆圈,我们就画出来了一个实心圆,如下:[java] view plain copy Paint paint = new Paint(); paint.se原创 2017-05-05 14:54:48 · 5068 阅读 · 0 评论 -
手势解锁
package com.example.administrator.shoushijiesuo;import java.util.ArrayList;import java.util.List;import android.animation.Animator;import android.animation.AnimatorListenerAdapter;import androi原创 2017-05-24 20:40:32 · 423 阅读 · 0 评论 -
手把手带你做一个超炫酷loading成功动画view Android自定义view
写在前面: 本篇可能是手把手自定义view系列最后一篇了,实际上我也是一周前才开始真正接触自定义view,通过这一周的练习,基本上已经熟练自定义view,能够应对一般的view需要,那么就以本篇来结尾告一段落,搞完毕设的开题报告后去学习新的内容。 有人对我说类似的效果网上已经有了呀,直接拿来就可以用,为什么还要写。我个人的观点是:第三方控件多数不能完全满原创 2017-05-06 11:45:40 · 579 阅读 · 0 评论 -
Canvas之画布操作
版权声明:本人所有文章均采用 [知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议] 转载前请保证理解此协议,原文出处 :http://www.gcssloop.com/#blog目录(?)[+]Canvas之画布操作作者微博: @GcsSloop【本系列相关文章】上一篇Canvas之绘制基本形状中我们了解了如何使用Canvas绘原创 2017-05-17 16:15:54 · 750 阅读 · 0 评论 -
用Canvas画带动画的渐变数字圆环
项目在github上的地址:https://github.com/Hebin320/ArcChart优快云上的下载地址http://download.youkuaiyun.com/detail/hebin320320/9498435先放效果图这是一个自定义view,布局就是一个简单的线性布局而已,通过addview的方式,将自定义view显示出来;原创 2017-05-27 16:13:26 · 1196 阅读 · 0 评论 -
左右滑动的布局
使用 mFinishLayout.setOnSildingFinishListener(new SildingFinishLayout.OnSildingFinishListener() { @Override public void onSildingFinish() { startActivity(n原创 2017-05-10 17:19:29 · 497 阅读 · 0 评论 -
Android Paint的使用详解
自定义控件具有很强的灵活性,可以根据你的想法画出各种各样的图案,在Android中如果是自定义控件的话,Paint这个类用的还是较多的,这一篇就来简单介绍Paint这个类的使用,先来看一下这个类的注释[java] view plain copy/** * The Paint class holds the style and color inf原创 2017-06-19 15:58:16 · 370 阅读 · 0 评论 -
实现背景颜色随着ScrollView滑动改变的ActionBar
原文链接:http://cyrilmottier.com/2013/05/24/pushing-the-actionbar-to-the-next-level/英文好直接戳原文哈。先上效果图:ActionBar开始是完全透明的,然后随着页面往下,开始逐渐变原创 2017-07-15 10:46:46 · 786 阅读 · 0 评论 -
Android控制ScrollView滑动速度
前言由于各个Android平板触摸屏的材质不一样,滑动效果会有一些区别,有的比较灵敏,有的比较迟钝,这里就遇到了要求控制滑动速度的需求... 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com原创 2017-07-16 21:14:49 · 2277 阅读 · 0 评论 -
ScrollView滚动到指定位置 (平滑 慢速 动画)
首先 private Runnable runnable = new Runnable() { @Override public void run() { scrollToPosition(0,600); } };1234567812345678其次handler.post(runnable);11原创 2017-07-16 22:22:22 · 4662 阅读 · 0 评论 -
Android自定义View之酷炫吊炸天的圆环
先看下最终的效果静态:动态:在线mp4 to gif http://ezgif.com/video-to-gif开始实现新建一个DoughnutProgress继承View public class DoughnutProgress extends View { }先给出一些常量、变量以及公共方法的代码,方便理解后面的原创 2017-07-17 09:02:13 · 936 阅读 · 0 评论 -
Android自实现百分比布局
在开发中,组件布局是大家每日开发必须要面对的工作,对于Android来说提供五种常用布局,分别是:LinearLayout(线性布局) TableLayout(表格布局) RelativeLayout(相对布局) AbsoluteLayout(绝对布局) FrameLayout(框架布局) 但是,开发中如果可以按照百分比的方式进行界面布局,将会对我们的适配工作带来许多便...原创 2017-07-24 00:01:39 · 788 阅读 · 0 评论 -
自定义view——wrap_context
转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/24252901很多的Android入门程序猿来说对于android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章。先总结下自定义View的步骤:1、自定义View的属性2、在View的构原创 2017-08-28 00:17:22 · 603 阅读 · 0 评论 -
Android 自定义控件的属性使用
一 性 介绍与应用最近项目中经常需要用到自定义控件,因此自定义属性也是经常要用到的,在此说明一下自定义属性的用法:自定义属性都存在于/value/attr.xml文件中,以如下格式存在。复制代码代码如下:......对于自定义属性中的format的值及其含义如下:format属性原创 2017-03-12 15:03:26 · 1810 阅读 · 0 评论