- 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...
- 前面有篇文章讲了 smail代码的简单修改,其实它有3个apk可以用来练手,今天来讲第二个apk,也是比较简单,大佬请飘过。 样本地址: https://github.com/wyhuan/owasp-mstg/blob/master/Crackmes/Android/Level_02/UnCrackable-Level2.apk 依然下载到手机并安装,打开看看... 前面有篇文章讲了 smail代码的简单修改,其实它有3个apk可以用来练手,今天来讲第二个apk,也是比较简单,大佬请飘过。 样本地址: https://github.com/wyhuan/owasp-mstg/blob/master/Crackmes/Android/Level_02/UnCrackable-Level2.apk 依然下载到手机并安装,打开看看...
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day2)
2025/03/30 周日 09:00-12:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
从AI基础到昇腾:大模型初探、DeepSeek解析与昇腾入门
2025/04/02 周三 16:00-17:30
不易 / 华为云学堂技术讲师
昇腾是华为研发的AI芯片,其具有哪些能力?我们如何基于其进行开发?本期直播将从AI以及大模型基础知识开始,介绍人工智能核心概念、昇腾AI基础软硬件平台以及昇腾专区,旨在为零基础或入门级学习者搭建从AI基础知识到昇腾技术的完整学习路径。
回顾中
热门标签