系统应用
本节引言: 上节,我们已经学习了Bitmap的基本用法,而本节我们要来探讨的Bitmap的OOM问题, 大家在实际开发中可能遇到过,或者没遇到过因为Bitmap引起的OOM问题,本节我们 就来围绕这个话题来进行学习~了解什么是OOM,为什么会引起OOM,改善因Bitmap引起的 OOM问题~ 1.什
本节引言: 前两小节已经把Drawable和Bitmap过了一遍,它们本质上都属于“已经加载好的图片”。接下来,就该进入真正和绘制打交道的这组API了:分别是Canvas(画布)、Paint(画笔)和Path(路径)。这一部分很关键,说得直接一点,它就是自定义View的基础能力。好了,先不绕弯子,下
本节引言: 前两节我们学了Bitmap和一些基本的绘图API的属性以及常用的方法,但心里总觉得有点 不踏实,总得写点什么加深下映像是吧,嗯,本节我们就来写两个简单的例子: 1.简单画图板的实现 2.帮美女擦衣服的简单实现 嘿嘿,第二个例子是小猪刚学安卓写的一个小Demo~嘿嘿~ 开始本节内容~ 1.
本节引言: 在Android基础入门教程——8.3.1 三个绘图工具类详解的Paint方法中有这样一个方法: setMaskFilter(MaskFilter maskfilter): 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等! 而我们一般不会直接去用
本节引言: 不知道标题这两个玩意你熟不熟悉啦,如果自己实现过圆角或者圆形图片,相信对这两个名词 并不模式,一时半伙没想起来?没关系,下面这个图你可曾见过? 补充说一句,网上很多资料都提到,这张图片可以在:samplesandroid-XXlegacyApiDemossrccomexampleandr
本节引言: 上一节已经看过 Xfermode 那两个“退场已久”的儿子:AvoidXfermode、PixelXorXfermode。它们并非完全没用,只是时代往前走,这两位终究还是被淘汰了。接下来,把重点放到 Xfermode 目前还在用的“三儿子”身上:PorterDuffXfermode。 先
本节引言: 上一节已经把Xfermode里的“三儿子”过了一遍:PorterDuffXfermode 的构造方法只接收一个参数,也就是 PorterDuff.Mode。前面先看了16种图片混排模式,接着又通过代码把文档里的18种混排模式逐一验证了一次——比起常见的16种,这里其实多了 ADD 和 O
本节引言: 前一节里,已经顺手做了一个基于Xfermode的图片混排案例——擦美女衣服的Demo;再加上更早前用Xfermode实现圆角和圆形ImageView的内容,到这里,大家对Xfermode应该已经不算陌生,至少算是摸到门道了。那这一节,就继续把这个系列收个尾:用Xfermode里的Prot
本节引言: 上节我们学习了MaskFilter(面具),用它的两个子类BlurMaskFilter弄了下模糊效果,EmbossMaskFilter 弄了下浮雕效果,而本节我们来学习的是另一个API——ColorFilter(颜色过滤器),和MaskFilter一样, 我们并不直接使用该类,而是使用该
本节引言: 上一节已经聊过 Android 里 Paint API 的 ColorFilter(颜色过滤器)第一个子类:ColorMatrixColorFilter(颜色矩阵颜色过滤器)。这一类东西看着偏底层,真用起来却很能打开 Android 图像处理的思路。顺着这个脉络,这一节继续往下看它的第二
本节引言: 本来打算今天先不写了,结果难得有点空,就顺手把这一节补上。这里要聊的是 ColorFilter 的第三个子类:PorterDuffColorFilter。看到PorterDuff这个名字,想必都不陌生;如果前面已经看过 Android基础入门教程——8.3.5 Paint API之——
1.构造方法详解 1)BitmapShader(图像渲染) BitmapShader(Bitmap bitmap, Shader.TileMode tileX, Shader.TileMode tileY) 使用一张位图作为纹理来对某一区域进行填充,参数依次: bitmap:用来作为填充的位图; t
本节引言: 在 Android 基础入门教程——8.3.1 三个绘图工具类详解 Paint 的方法参数那一节里,其实已经接触过几个很关键的东西:Paint.Style、Paint.Cap、Paint.Join 等。它们本质上都是 Paint 里的枚举值,很多相关效果,正是通过设置这些枚举值来完成的。
这一节聊的是 Paint API 系列里的最后一个 API——Typeface(字型)。顾名思义,它主要就是拿来设置字体以及字体风格的,而且上手门槛并不高,用起来也很直接。接下来,就把 Typeface 的几种常见用法顺着梳理一遍。官方API文档:Typeface~ 1.字体的可选风格 四个整型常量
本节引言: 前面我们花了13小节详细地讲解了Android中Paint类大部分常用的API,本节开始我们来讲解 Canvas(画板)的一些常用API,我们在8.3.1 三个绘图工具类详解 中已经列出了我们可供调用的一些方法,我们分下类: drawXxx方法族:以一定的坐标值在当前画图区域画图,另外图
本节引言: 这一节接着往下聊 Android 绘图系列里的 Canvas API(Part 2),重点就放在 Canvas 里的 ClipXxx 方法族上。翻一下官方文档就会发现,Clip 相关方法主要分成三类:clipPath( )、clipRect( )、clipRegion( ); 通过Pat
本节引言: 在Canvas的API文档中,我们看到这样一个方法:drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint) 这个 Matrix 里头,其实大有门道。前面讲 Paint 的 API 里 ColorFilter 时,已经提到过 ColorM
本节引言: 从这一节开始,正式聊聊 Android 里的动画。原因其实很直接:一个 APP 只要把动画用对了,整体观感往往就会立刻灵动不少。哪怕只是最基础的 Activity 开关切换,也能明显提升体验;更不用说自定义控件了,动画几乎是绕不开的一环。Android 的动画大体可以分成三类:逐帧动画(
本节引言: 本节带来的是Android三种动画中的第二种——补间动画(Tween),和前面学的帧动画不同,帧动画 是通过连续播放图片来模拟动画效果,而补间动画开发者只需指定动画开始,以及动画结束"关键帧", 而动画变化的"中间帧"则由系统计算并补齐!好了,开始本节学习~ 1.补间动画的分类和Inte
本节引言: 本节给带来的是Android动画中的第三种动画——属性动画(Property Animation), 记得在上一节8.4.2 Android动画合集之补间动画为Fragment 设置过渡动画的时候,说过,App包和V4包下的Fragment调用setCustomAnimations()对
本节引言: 上节我们对Android的属性动画进行了初步的学习,相信大家对于属性动画已经不再是 一知半解的状态了,本节我们继续来探究Android属性动画的一些更高级的用法! 依旧贴下郭神的三篇文章~ Android属性动画完全解析(上),初识属性动画的基本用法 Android属性动画完全解析(中)
本节引言: 第九章给大家带来的是Android中的多媒体开发,与其说是多媒体开发还不如是多媒体相关API的 的使用,说下实际开发中我们做了一些和多媒体搭边的东西:拍照,录音,播放音乐,播放视频... 大致也就这些。拿播放音乐来说,通常就是调用MediaPlayer,定位到音乐文件,再执行一下play
本节引言: 本节带来的是Android多媒体中的——MediaPlayer,我们可以通过这个API来播放音频和视频 该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码 和播放音视频。它支持三种不同的媒体来源: 本地资源 内部的URI,比如你可以通过Content
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。





