随笔博文

  • 【Android】TextView中不同大小字体如何上下垂直居中?

    前言在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗、改变颜色、加链接、下划线等。iOS为我们提供了AttributedString,而Android则提供了SpannableString。在Android的android.text.style包下为我们提供了各种各样的span(可以参考这篇文章),例如:问题网上已经有着很多使用这些span的教程了,所以没

    2022-12-02 michael007js 719

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

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

    2022-12-02 michael007js 712

  • Android LinearGradient线性渐变

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

    2023-03-23 michael007js 676

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

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

    2022-12-20 michael007js 646

  • 关于RxJava背压

    关于RxJava背压前言适用人群:了解RXJava1.0、RxJava2.0基本用法,了解RxJava的一些常用操作符的小伙伴讲些什么:了解背压是什么?了解阻塞形成的原因怎么去解决阻塞RxJava对背压的处理为什么讲:学习RxJava2.0用法,熟悉背压机制(我差点信了自己)能讲好吗:被闹,又不是开车,这我哪知道啊!好吧不扯了,开车吧,不不,是开始学习下背压什么是背压在RXJava2.0出来以后,

    2022-12-07 michael007js 640

  • Path类使用详解

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

    2022-12-02 michael007js 625

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

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

    2022-12-08 michael007js 624

  • Android 系统 Bar 沉浸式完美兼容方案

    引言自 Android 5.0 版本,Android 带来了沉浸式系统 bar(状态栏和导航栏),Android 的视觉效果进一步提高,各大 app 厂商也在大多数场景上使用沉浸式效果。但由于 Android 碎片化比较严重,每个版本的系统 bar 效果可能会有所差异,导致开发者往往需要进行兼容适配。为了简化系统 bar 沉浸式的使用,以及统一机型、版本差异所造成的效果差异,本文将介绍系统 bar

    2022-12-26 michael007js 619

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