随笔博文

  • dispatchDraw()和onDraw()的区别

    这些只是自己测试的一些发现和理解做个记录,如果那里不对还请不吝赐教onDraw()先于dispatchDraw()执行,用于本身控件的绘制,dispatchDraw()用于子控件的绘制onDraw()绘制的内容可能会被子控件覆盖而dispatchDraw()是子控件的绘制,所以是覆盖在onDraw()上的布局:<?xml version="1.0" encoding=&q

    2022-12-06 michael007js 99

  • Android Canvas设置绘画时重叠部分的处理模式【含效果图】

    在Android的PorterDuff.Mode类中列举了他们制定的规则:android.graphics.PorterDuff.Mode.SRC:只绘制源图像android.graphics.PorterDuff.Mode.DST:只绘制目标图像android.graphics.PorterDuff.Mode.DST_OVER:在源图像的顶部绘制目标图像android.graphics.Port

    2022-12-06 michael007js 498

  • 【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

  • Java内存优化和性能优化的几点建议

    阅读目录回到顶部1.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收。有时,开发者会将经常调用的对象或者变量定义为static,以便提高程序的运行性能。因此,不是常用到的对象或者变量,不要定义为static类型的变量,尤其是静态类对象的定义,一定要仔细考虑是否有必要。例如 类X创建了,没有被回收的话,静态变量a

    2022-12-02 michael007js 198

  • 原生js获取元素的各种位置(大全)

    加给元素:offsetLeft (距离定位父级的距离)offsetTop (距离定位父级的距离)offsetWidth (可视宽度)offsetHeight (可视高度)clientLeft (左边框宽度)clientTop (上边框宽度)clientWidth(width + padding)clientHeight(height + padding)scrollTop(纵向滚动距离)scrol

    2022-12-02 michael007js 248

  • Andorid字体修改SpannableString的使用

    一、概述  SpannableString和String一样都是一种字符串类型,SpannableString源码中的解释是:这类内容的文本是不变的,但是标记对象可以被附加和分离。也就是说,可以改变文本中的部分字符串,打造丰富多彩的文本显示效果。   一般项目中总会需要有在同一个文本中显示字体不同颜色,不同大小等效果,虽然可以在XML文件中设置多个TextView可以实现效果,但是在布局优化的角度

    2022-12-02 michael007js 743

  • AppBarLayout 简单使用

    导读本篇文章将介绍Materia_Design控件,design包中的AppBarLayout的简单使用说明控件简介AppbarLayout继承于LinearLayout,是一个垂直的LinearLayout,它实现了Material Design的许多功能和特性,即滚动手势(Scrolling Gestures)我们可以定义行为Behavior,当某个可滑动View(如ListView)滑动手势

    2022-12-02 michael007js 414

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