- 今天我们用Paint,Canvas在自定义View中绘制一个圆环,点击圆环后自动在圆环上绘制弧形进度,示意图如下:1. 我们先看一下页面布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an... 今天我们用Paint,Canvas在自定义View中绘制一个圆环,点击圆环后自动在圆环上绘制弧形进度,示意图如下:1. 我们先看一下页面布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an...
- android View绘制流程分为3个步骤:分别是measure、 layout、 draw 。今天我们先来探究一下measure的过程。在上一节android开发笔记(三十四)中,我们研究了DecorView绘制到PhoneWindow上的流程,也就是View绘制的概况性流程(DecorView extends View), 我们回顾一下那个流程图:... android View绘制流程分为3个步骤:分别是measure、 layout、 draw 。今天我们先来探究一下measure的过程。在上一节android开发笔记(三十四)中,我们研究了DecorView绘制到PhoneWindow上的流程,也就是View绘制的概况性流程(DecorView extends View), 我们回顾一下那个流程图:...
- 上一篇我们讲了自定义behavior监听控件的状态变化:例如垂直方向位移的变化。今天我们要谈的是如何监听控件的滑动事件。就是说当布局文件里有一个可滑动的控件(如RecyclerView、NestedScrollView、Viewpager页面里的NestedScrollView)滑动时,我们自定义的behavior可以帮观察者监听到该类事件,同时做相应的处理。我们还是从布局文... 上一篇我们讲了自定义behavior监听控件的状态变化:例如垂直方向位移的变化。今天我们要谈的是如何监听控件的滑动事件。就是说当布局文件里有一个可滑动的控件(如RecyclerView、NestedScrollView、Viewpager页面里的NestedScrollView)滑动时,我们自定义的behavior可以帮观察者监听到该类事件,同时做相应的处理。我们还是从布局文...
- 在上一篇文章里我们介绍了属性动画的基础知识,今天我们综合运用属性动画的知识来完成一个动画案例。首先,看一下这个动画效果: 源码下载地址:https://download.csdn.net/download/gaoxiaoweiandy/11085552 1. 分析这个动画案例 第一个动画(浏览大师的动画)是:当点击顶部“大师”按钮时触发的,浏览大师的整个布局(包括... 在上一篇文章里我们介绍了属性动画的基础知识,今天我们综合运用属性动画的知识来完成一个动画案例。首先,看一下这个动画效果: 源码下载地址:https://download.csdn.net/download/gaoxiaoweiandy/11085552 1. 分析这个动画案例 第一个动画(浏览大师的动画)是:当点击顶部“大师”按钮时触发的,浏览大师的整个布局(包括...
- 周末好, 今天我们来讲一个动画效果的实现,当上滑列表时让Toolbar(工具栏)与FAB浮动按钮(实质还是一个按钮)隐藏,当下滑时又显示回来。实现这个动画有两种方法,今天我们先讲第一种最常规的做法,其实第二种方法才是正道,它更符合Google Material Design的规范,敬请期待下一篇Android高级进阶(十九),但是我们今天还是要执意讲解第一种方... 周末好, 今天我们来讲一个动画效果的实现,当上滑列表时让Toolbar(工具栏)与FAB浮动按钮(实质还是一个按钮)隐藏,当下滑时又显示回来。实现这个动画有两种方法,今天我们先讲第一种最常规的做法,其实第二种方法才是正道,它更符合Google Material Design的规范,敬请期待下一篇Android高级进阶(十九),但是我们今天还是要执意讲解第一种方...
- 五一还过的快乐吗,是不是收假第一天感觉好累。今天为大家讲一下VIEW的事件分发过程,来激活大家想要提高技术水平的欲望,这样也许就不累了吧。虽然网上有很多关于事件分发的文章,大多数思路都不是那么顺。我们做任何事情都应该从最简单的部分做起,从最简单的事情倒推其原理与过程,一步一步拼接成复杂的整体。那好,就让我们从最简单的Button点击事件说起(示例源码:http... 五一还过的快乐吗,是不是收假第一天感觉好累。今天为大家讲一下VIEW的事件分发过程,来激活大家想要提高技术水平的欲望,这样也许就不累了吧。虽然网上有很多关于事件分发的文章,大多数思路都不是那么顺。我们做任何事情都应该从最简单的部分做起,从最简单的事情倒推其原理与过程,一步一步拼接成复杂的整体。那好,就让我们从最简单的Button点击事件说起(示例源码:http...
- 自动Android5.0的Material design设计规范推出之后,新增了许多设计比较好的控件,如CardView,浮动按钮等。这些控件来自于com.android.support:design包中。今天我们主要讲布局界面及展示效果,无需额外编写程序代码。 1. CardView在布局中的运用: <LinearLayout xmlns:android="http... 自动Android5.0的Material design设计规范推出之后,新增了许多设计比较好的控件,如CardView,浮动按钮等。这些控件来自于com.android.support:design包中。今天我们主要讲布局界面及展示效果,无需额外编写程序代码。 1. CardView在布局中的运用: <LinearLayout xmlns:android="http...
- 上一篇已经讲了让系统控件如Imageview识别自定义属性的方法一: 自定义LinearLayout,在addview的时候,给每一个系统控件外层再包裹一个自定义VIEWGROUP,然后这个VIEWGROUP来识别自定义属性并执行动画。今天我们讲第二种方法,与第一种方法有点雷同,就是在解析XML中的系统控件时,解析出属性及属性值,把这个控件如Imageview上的自定义属性解... 上一篇已经讲了让系统控件如Imageview识别自定义属性的方法一: 自定义LinearLayout,在addview的时候,给每一个系统控件外层再包裹一个自定义VIEWGROUP,然后这个VIEWGROUP来识别自定义属性并执行动画。今天我们讲第二种方法,与第一种方法有点雷同,就是在解析XML中的系统控件时,解析出属性及属性值,把这个控件如Imageview上的自定义属性解...
- 昨天刷抖音的时候,被一个在路灯下诵读《战国策》、《尚书》、《左转》的流浪汉感动。 今天为了致敬大师,以大师的图片作为素材来演示一下Android中的属性动画。 Android的动画分为补间动画、帧动画、属性动画。(本文中的实例工程下载地址:https://download.csdn.net/download/gaoxiaoweiandy/11033672) 补间动画... 昨天刷抖音的时候,被一个在路灯下诵读《战国策》、《尚书》、《左转》的流浪汉感动。 今天为了致敬大师,以大师的图片作为素材来演示一下Android中的属性动画。 Android的动画分为补间动画、帧动画、属性动画。(本文中的实例工程下载地址:https://download.csdn.net/download/gaoxiaoweiandy/11033672) 补间动画...
- RecyclerView控件还有一个非常方便的功能,就是可以动态改变RecyclerView控件的展示风格,即在列表与网格Grid布局之间自由切换,先上效果图《飞虎队剧照》: 一、核心代码如下: 1. MainActivity.java package com.anyikang.volunteer.sos.recyclerview; import and... RecyclerView控件还有一个非常方便的功能,就是可以动态改变RecyclerView控件的展示风格,即在列表与网格Grid布局之间自由切换,先上效果图《飞虎队剧照》: 一、核心代码如下: 1. MainActivity.java package com.anyikang.volunteer.sos.recyclerview; import and...
- 因为自己的项目中有用到了蓝牙相关的功能,所以之前也断断续续地针对蓝牙通信尤其是BLE通信进行了一番探索,整理出了一个开源框架FastBle与各位分享经验。 源码地址: https://github.com/Jasonchenlijian/FastBle 随着对FastBle框架关注的人越来越多,与我讨论问题的小伙伴也多起来,所以整理了一篇文章,详细介绍一下框架的... 因为自己的项目中有用到了蓝牙相关的功能,所以之前也断断续续地针对蓝牙通信尤其是BLE通信进行了一番探索,整理出了一个开源框架FastBle与各位分享经验。 源码地址: https://github.com/Jasonchenlijian/FastBle 随着对FastBle框架关注的人越来越多,与我讨论问题的小伙伴也多起来,所以整理了一篇文章,详细介绍一下框架的...
- 裁剪: 裁剪后,canvas只能在裁剪出的这块rectF矩形上进行绘制。 区域: canvas图层上的一块封闭区域,如下rect2这个矩形区域,drawRegion绘制出这个区域。 package com.xiaowei.lsn7_canvas; import android.content.Context;import android.graphics.B... 裁剪: 裁剪后,canvas只能在裁剪出的这块rectF矩形上进行绘制。 区域: canvas图层上的一块封闭区域,如下rect2这个矩形区域,drawRegion绘制出这个区域。 package com.xiaowei.lsn7_canvas; import android.content.Context;import android.graphics.B...
- TabLayout是Material Design设计原则中推出的一个新型标题栏,最常见的例子就是结合Viewpager来使用,当滑动Viewpager时,标题栏会跟随着切换,反过来当选中某一个标题栏时Viewpager页面也会跟随着切换到指定内容。 拒绝所谓的民间高手的自定义Tablayout滑动效果,让我们接受谷歌大牛的稳定控件吧。 下面是Tablayout... TabLayout是Material Design设计原则中推出的一个新型标题栏,最常见的例子就是结合Viewpager来使用,当滑动Viewpager时,标题栏会跟随着切换,反过来当选中某一个标题栏时Viewpager页面也会跟随着切换到指定内容。 拒绝所谓的民间高手的自定义Tablayout滑动效果,让我们接受谷歌大牛的稳定控件吧。 下面是Tablayout...
- 上篇文章介绍了RecyclerView控件的基本用法,我们已经知道它是一个ListView的升级版,可轻松的展示各种列表风格,例如水平列表、垂直列表、网格列表、瀑布流列表等。但是,我们项目中仅仅展示数据是不够的,我们经常还有列表项的单击事件、添加列表项、删除列表项等。今天我们就着重讲解一下RecyclerView列表项的单击事件、添加列表项、删除列表项。 效果:... 上篇文章介绍了RecyclerView控件的基本用法,我们已经知道它是一个ListView的升级版,可轻松的展示各种列表风格,例如水平列表、垂直列表、网格列表、瀑布流列表等。但是,我们项目中仅仅展示数据是不够的,我们经常还有列表项的单击事件、添加列表项、删除列表项等。今天我们就着重讲解一下RecyclerView列表项的单击事件、添加列表项、删除列表项。 效果:...
- 1. Path概念 用Path定义一个图形,然后用canvas.drawPath(...)函数来绘制这个图形。例如绘制一个圆。Path可以绘制各种图形,如二次,三次贝塞尔曲线,圆形、多边形,三角形,五角星等几何形状。 public class PathOpView extends View { private Paint mPaint; public PathOpVi... 1. Path概念 用Path定义一个图形,然后用canvas.drawPath(...)函数来绘制这个图形。例如绘制一个圆。Path可以绘制各种图形,如二次,三次贝塞尔曲线,圆形、多边形,三角形,五角星等几何形状。 public class PathOpView extends View { private Paint mPaint; public PathOpVi...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
苏州工业园区“华为云杯”2025人工智能应用创新大赛赛中直播
2025/08/21 周四 16:00-17:00
Vz 华为云AIoT技术布道师
本期直播将与您一起探讨如何基于华为云IoT平台全场景云服务,结合AI、鸿蒙、大数据等技术,打造有创新性,有竞争力的方案和产品。
即将直播
热门标签