随笔博文

  • 安卓自定义View进阶-缩放手势检测(ScaleGestureDecetor)

    0. 前言Android 缩放手势检测,ScaleGestureDetector 相关内容的用法和注意事项,本文依旧属于事件处理这一体系,在大多数的情况下,缩放手势都不是单独存在的,需要配合其它的手势来使用,所以推荐配合 手势检测(GestureDetector) 一起观看。如果是用在自定义的控件上,则需要配合 Matrix 相关内容使用起来可能会更加方便,如果对 Matrix 不太熟悉也可以看之

    2022-12-09 michael007js 805

  • 获取TextView行数

    最近在做评论这块的功能,产品提了一个这样的需求,当用户评论的内容大于5行的时候添加一个可以折叠的小按钮,点击按钮可以显示全部内容,再次点击按钮又把评论内容全部显示出来。刚看到这个需求的时候感觉还蛮简单,于是一阵噼里啪啦之后,噢,发现不行,感觉蛮有意思的,哈哈,于是就有了以下的文章。来-----走起。第一步:分析1.既然是评论内容,我们索性就拿TextView来显示就好了。要做到折叠的效果,首先我们

    2023-01-06 michael007js 788

  • Android ImageSpan与TextView中的text居中对齐问题解决(无论TextView设置行距与否)

    先解释一个类:Paint.FontMetrics,它表示绘制字体时的度量标准。google的官方api文档对它的字段说明如下:ascent: 字体最上端到基线的距离,为负值。descent:字体最下端到基线的距离,为正值。看下图:中间那条线就是基线,基线到上面那条线的距离就是ascent,基线到下面那条线的距离就是descent。回到主题,我们要让imagespan与text对齐,只需把image

    2022-12-02 michael007js 780

  • Android LinearGradient线性渐变

    1 linearGradient简介linearGradient线性渐变,会用到Paint的setShader,Shader 被称为着色器,在opengl中这个概念经常被用到,android中的shader主要用来给图像、文字着色,Shader在绘制过程中会返回横向重要的颜色组,Paint设置shader后,绘制时会从shader中获取颜色,也就是需要shader告诉画笔某处的颜色值。Shader

    2023-03-23 michael007js 762

  • iOS老司机的App启动优化Tips, 让启动速度提升10%

    前言评价一个App是不是一款出色的应用, 第一印象很重要.这就要求我们必须把App的启动速度的优先级排的很高, 设想一个场景, 点击了App图标, 3秒过去了, 依然还卡在启动状态.这是令用户难以接受的事.要想解决问题, 首先要对问题有个全面的认识.下面我们就App启动流程及启动优化实操层面, 做一个抛砖引玉的探讨, 如有错误, 请评论区指正, 先行谢过了:)1. iOS启动流程分析App的启动可

    2022-12-20 michael007js 744

  • Path类使用详解

    玩过自定义View的小伙伴都知道,在View的绘制过程中,有一个类叫做Path,Path可以帮助我们实现很多自定义形状的View,特别是配合xfermode属性来使用的时候。OK,那我们今天就来看看Path中那几个常用的API。1.moveTomoveTo表示将绘制点移动到某一个坐标处,该方法并不会进行绘制,主要是用来移动画笔。默认情况下起始坐标位于(0,0)点,我们可以手动调整默认位置。2.li

    2022-12-02 michael007js 739

  • Android Paint 画笔的一些偏知识

    setStrokeCap(Paint.Cap cap) 设置线头的形状放出「平头」「圆头」「方头」这种翻译我始终有点纠结:既觉得自己翻译得简洁清晰尽显机智,同时又担心用词会不会有点太过通俗,让人觉得我不够高贵冷艳?当线条的宽度是 1 像素时,这三种线头的表现是完全一致的,全是 1 个像素的点;而当线条变粗的时候,它们就会表现出不同的样子:虚线是额外加的,虚线左边是线的实际长度,虚线右边是线头。有了

    2022-11-23 michael007js 711

  • 安卓自定义View进阶-Matrix详解

    这应该是目前最详细的一篇讲解Matrix的中文文章了,在上一篇文章Matrix原理中,我们对Matrix做了一个简单的了解,偏向理论,在本文中则会详细的讲解Matrix的具体用法,以及与Matrix相关的一些实用技巧。⚠️ 警告:测试本文章示例之前请关闭硬件加速。Matrix方法表按照惯例,先放方法表做概览。方法类别相关API摘要基本方法equals hashCode toString toSho

    2022-12-08 michael007js 701

首页
关于博主
我的博客
搜索