自定义View笔记

《Android 群英传》读书笔记:自定义 View -- 比例图 《Android 群英传》读书笔记:自定义 View – 比例图 转载请注明出处: http://blog.youkuaiyun.com/like_program/article/details/53241308 先看一下我们最终要实现的自定义 View。最终效果图:分析首先,我们来分析下这个自定义 View 的组成:中间是一个圆形,圆形中显示的有文字,外圈是弧线。 阅读详情
自定义VIew继承VIew类
API在21之前重写三个方法,21之后重写4个方法
21之后重写3个方法有时会报资源文件找不到
构造器的参数:
一个是 上下文
二个是 属性
三个是 样式
四个是 资源
onMeasure()(控件大小)
onDraw()(绘制)<Canvas(画布),Paint(画笔)>
onLayout()(显示位置)
onTouch():
MotinEvent:
主要的事件类型有:
ACTION_DOWN: 表示用户开始触摸.
ACTION_MOVE: 表示用户在移动(手指或者其他)
ACTION_UP:表示用户抬起了手指
ACTION_CANCEL:表示手势被取消了

在Android Studio中如何建立app的assets文件夹
【Android】android中Invalidate和postInvalidate的区别
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 
Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 

接口回调:




接口:接口代表了规范
1.接口里的属性都是静态常量 默认都是public static final修饰的
2.接口里的方法都是抽象方法 默认都是public abstract修饰的
3.接口只能继承接口,不能继承类,接口可以直接继承多个接口
4.接口里面没有构造器!
5.接口的作用,接口只能被类实现(使用implements关键字)

抽象类:1.有抽象方法的,一定是抽象类。
2.抽象类不一定有抽象方法(抽象类可以有普通方法)
3.抽象类不能实例化对象(抽象类的构造器只能用于被子类调用)

抽象类是对是实体的抽象
接口是对行为的抽象

刷新UI的方法:
Handler
AsyncTask
runOnUiThread()
invalidate():在主线程中使用
postInvalidate():非主线程中使用
android学习笔记之自定义View之实现一个简单的加载动画 一、概述学习自定义view最基础的知识后就需要做一个小demo来检验自己的成果,比如实现以下加载动画。 阅读详情

相关推荐

《Android 群英传》读书笔记:自定义 View -- 音频条形图

转载请注明出处: http://blog.youkuaiyun.com/like_program/article/details/53352899 最终效果图我们先看下最终效果图:分析通过刚才的效果图,我们可以分析出:音频条形图,是由一个个矩形组成的,每个矩形的宽度相同,高度不同。每个矩形之间的距离相同。知道了这些,也就好办了。

like_program 的博客 1659

Android从源码分析handler.post(runnable),view.post(runnable),runOnUiThread(runnable)执行时机

大家好,我是听者,耳听心受的听,孙行者的者,感谢大家阅读我的文章。今天和大家分享关于handler().post(),view.post(),runOnUiThread()三种回到主线程方式的联系与区别。

fengshenlangzi的博客 1814

Android多线程编程:Handler、runOnUiThread、View.post和Handler.post详解

在上面的代码中,我们创建了一个Handler对象,并在doBackgroundTask()方法中使用mHandler.post()方法将更新UI的代码放在主线程中执行。在上面的代码中,我们在doBackgroundTask()方法中执行耗时操作,然后使用runOnUiThread()方法将更新UI的代码放在主线程中执行。在上面的代码中,我们在doBackgroundTask()方法中执行耗时操作,然后使用textView.post()方法将更新UI的代码放在主线程中执行。如果有任何问题,请随时提问。

PixelInk的博客 479

Android开发中更新UI时runOnUIthread(Runnable)与Handler.post(Runnable)的区别及如何选择

我们都知道,android中的View不是线程安全的,只有主线程/UI线程(主线程和UI是等同的)才能更新UI,否则会报错。runOnUiThread(Runnale)和Handler.post(Runnable)都是将更新UI的操作提交到主线程/UI线程中执行,很多人以为这两种方法是一样的,之前我也以为是一样的,而且为了方便,我也一直是使用runOnUIthread()这一个方法的。 后来我才发现,这两种方法是有区别的,具体深层原因我不清楚,但我知道,最好或万能奏效的方式是Handler.post()的方

Great_l001的博客 2949

网络攻防实验——网络监听

利用CAIN实现ARP监听。

Trieyes_of_feng的博客 3193

实战解析:利用Wireshark解密QQ通信协议

本文提供了一份利用Wireshark工具分析QQ通信协议的实战指南。文章详细介绍了从环境准备、捕获数据包到解析协议层的完整流程,重点演示了如何识别QQ号码字段、观察加密数据特征以及区分不同通信类型(如文本、文件传输)。通过此实践,读者可以深入理解网络分层模型和现代应用加密通信机制,提升网络协议分析与安全诊断能力。

weixin_29210727的博客 407

Android之runOnUiThread、Toast、Handler、Looper

Android之runOnUiThread、Toast、Handler、Looper

qq_16740151的专栏 2319

Cadence OrCAD Capture CIS元器件管理时ERROR(ORCIS-6454): Temporary part number tracking is turned on报错的解决方法

使用Part manager对工程的元器件进行批量管理时,出现如下图所示的ERROR(ORCIS-6454): Temporary part number tracking is turned on报错其解决方法如下。

fydar的博客 3498

Android开发线程间的交互之Activity.runOnUIThread和view.post

一、简介 Activity.runOnUIThread 和 view.post 是Android提供的更新UI的方法,内部也是使用handler来处理消息的传递的 二、使用 new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(5000) ...

u013087553的博客 600

56、Cortex - M33处理器浮点单元(FPU)的使用与优化

本文详细介绍了Cortex-M33处理器浮点单元(FPU)的使用与优化方法,涵盖单双精度浮点计算的选择、编译器命令行配置、ABI模式对比、特殊FPU模式设置(如Flush-to-Zero、Default NaN)、浮点异常处理机制以及FPU电源管理策略。结合代码示例和流程图,提供了在不同应用场景下的最佳实践建议,并总结了常见问题及解决方案,帮助开发者提升嵌入式系统中浮点运算的性能、精度与能效。

bread的博客 152

SimpleITK使用——1. 进行Resample/Resize操作

文章目录1. 变换到一个新的spacing1.1 使用Resample()的方法1.1.1 完整代码1.1.2 转换前后图像1.2 使用ResampleImageFilter()的方法2. 已知原图和变换后目标图像的大小2.1 代码2.2 转换后图像3. 相关内容说明3.0 体素和spacing3.1 Resample() 函数说明3.2 itk::simple::ResampleImageFilter函数说明 1. 变换到一个新的spacing 1.1 使用Resample()的方法 1.1.1

啷个哩个啷 8079

Android自定义view学习笔记02

Android自定义view学习笔记02 本文代码来自于张鸿洋老师的博客之Android 自定义View (二) 进阶 学习笔记,对代码进行些许修改,并补充一些在coding过程中遇到的问题、学习的新东西。 相关代码//CustomImageView.java package mmrx.com.myuserdefinedview.textview;import android.content.C

mmrx的博客 6509

OpenClaw 多代理协同工作模式配置指南

OpenClaw 采用。

形上得其象,形下合于数;阴阳自济,玄理自明。 1万+

自定义View学习笔记 From GcsSloop

首先强烈感谢GcsSloop推出的自定义View系列文章,地址http://www.gcssloop.com/customview/CustomViewIndex。好记性不如烂笔头,特将学习总结以本博客做记录:一:基础部分1.坐标系三个系列方法: getLeft():距离父容器左 getX():距离自身x轴 getRawX():距离屏幕x轴 2.角度与弧度180(角度)/de

AndroidApeMan的博客 1100

Unity零基础到入门 ☀️| 【UI系统学习】轻松学会 Unity 的 UGUI基础控件的使用(包括一个简易血条、蓝条设计)

Unity,UGUI。本篇博客来挑几种Unity中最常用的UI控件如何使用和使用技巧,包括一个简易血条蓝条的小实例

努力前行,总会成为自己心中的那道光 2万+

AutosarMCAL开发——基于EB MCU驱动

本文为博主个人学习总结记录,如有不正,欢迎指正。

qq_45583706的博客 920

Android自定义View笔记

自定义View的分类  自定义View的有好几种分类,以我目前的阅历我把它分成4种: 特定的View的子类:Android的API已经为我们提供了不少可以使用的View,如TextView、ImageView、Button等等,但是有时候我们需要在这些基础的View上扩展一些功能,例如在Button里绑定一个TextWatch监测若干个EditText的输入情况时,就是继承Button类,在它的子类

totond的博客 2106

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

一个涂鸦笔记本的自定义View第三方库

一个涂鸦笔记本的自定义View第三方库 目录 一个涂鸦笔记本的自定义View第三方库 目录 简介 集成 初始化 其他方法说明 功能演示 源码及jar包 简介 还记得曾经QQ的涂鸦功能吗?现在这个第三方库也支持涂鸦,而且功能更加强大,支持切换画笔颜色,切换背景色,字体背景色,画笔粗细以及用光标删除,插入。来看看效果吧。 集成 以源码组件形式集成 d...

忆_析风的博客 447

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android自定义View学习笔记

为什么要自定义View? 系统配置的View满足不了我们的需求,我们需要针对业务制作一个自己的View。 怎么自定义View?步骤是啥? 我是小白啥不懂呀,怎么去自定义一个自己的view呢?下面跟着我一步步先定义一个正方形的view试试看。 在values目录下新建一个firs.xml文件,编写内容如下: <?xml version="1.0" encoding="utf-8"?>...

Shine56的博客 239

自定义View点点笔记总结

本文总结了自定义View中文字绘制和Canvas变换的关键知识点。在文字绘制方面,介绍了两种精确计算文字高度的方法(getTextBounds和FontMetrics)、文字对齐、居中设置、字体修改以及多行文字测量的breakText方法。在Canvas变换方面,讲解了范围裁切方法(clipRect/clipPath)和几何变换(translate/rotate/scale/skew),重点分析了Canvas变换的坐标系原理和Matrix的pre/post变换执行顺序。文章通过具体代码示例,展示了如何正确实

热爱技术 1556

Android自定义view学习笔记01

Android自定义view学习笔记01 昨天看博客的时候看到鸿洋老师的博客里面有关于自定义view的学习教程。一直深感所掌握的东西太少太杂,按照他的Android 自定义View (一)所讲内容,代码实践。根据实际情况稍作修改,并且补充一些在代码过程中知识点,做此笔记。 相关代码//CustomView01.java package mmrx.com.myuserdefinedview.tex

mmrx的博客 2806

Android自定义View学习笔记04

Android自定义View学习笔记04 好长时间没有写相关的博客了,前几周在帮学姐做毕设,所以博客方面有些耽误。过程中写了一个类似wp的磁贴的view,想再写个配套的layout,所以昨天看了一下自定义viewGroup的相关知识…晚上睡觉想了一下可行性不是很高…代码量还不如直接自己在xml上写来得快,速度上也是个问题。今天看了一下张鸿洋老师的 Android 自定义View (三) 圆环交替

mmrx的博客 953

Android自定义View学习笔记03

Android自定义View学习笔记03 参考gitHub上面的开源项目CircleImageView 预备知识BitMap类BitMap位图类,其中有一个嵌套类叫Bitmap.Config,内部有四个枚举值。这个类的作用是定义位图存储质量,即存储一个像素的位数,以及是否能显示透明、半透明颜色(Possible bitmap configurations. A bitmap configurat

mmrx的博客 1113
上一篇: android判断网络
下一篇: 一行代码实现Android文件下载
Android_Object
博客等级 码龄10年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值