前言在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗、改变颜色、加链接、下划线等。iOS为我们提供了AttributedString,而Android则提供了SpannableString。在Android的android.text.style包下为我们提供了各种各样的span(可以参考这篇文章),例如:问题网上已经有着很多使用这些span的教程了,所以没
2022-12-02 michael007js 823
先解释一个类:Paint.FontMetrics,它表示绘制字体时的度量标准。google的官方api文档对它的字段说明如下:ascent: 字体最上端到基线的距离,为负值。descent:字体最下端到基线的距离,为正值。看下图:中间那条线就是基线,基线到上面那条线的距离就是ascent,基线到下面那条线的距离就是descent。回到主题,我们要让imagespan与text对齐,只需把image
2022-12-02 michael007js 749
阅读目录回到顶部1.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收。有时,开发者会将经常调用的对象或者变量定义为static,以便提高程序的运行性能。因此,不是常用到的对象或者变量,不要定义为static类型的变量,尤其是静态类对象的定义,一定要仔细考虑是否有必要。例如 类X创建了,没有被回收的话,静态变量a
2022-12-02 michael007js 213
加给元素:offsetLeft (距离定位父级的距离)offsetTop (距离定位父级的距离)offsetWidth (可视宽度)offsetHeight (可视高度)clientLeft (左边框宽度)clientTop (上边框宽度)clientWidth(width + padding)clientHeight(height + padding)scrollTop(纵向滚动距离)scrol
2022-12-02 michael007js 282
一、概述 SpannableString和String一样都是一种字符串类型,SpannableString源码中的解释是:这类内容的文本是不变的,但是标记对象可以被附加和分离。也就是说,可以改变文本中的部分字符串,打造丰富多彩的文本显示效果。 一般项目中总会需要有在同一个文本中显示字体不同颜色,不同大小等效果,虽然可以在XML文件中设置多个TextView可以实现效果,但是在布局优化的角度
2022-12-02 michael007js 787
导读本篇文章将介绍Materia_Design控件,design包中的AppBarLayout的简单使用说明控件简介AppbarLayout继承于LinearLayout,是一个垂直的LinearLayout,它实现了Material Design的许多功能和特性,即滚动手势(Scrolling Gestures)我们可以定义行为Behavior,当某个可滑动View(如ListView)滑动手势
2022-12-02 michael007js 452
一、构造方法1、Path path=new Path();//空的构造方法2、Path path=new Path(Path src);//创建一个新的路径,并从src路径获取内容赋值给新的路径二、Path常用的一些方法分类Path方法备注点操作moveTo(float x,float y)设置接下来操作的起点位置为(x,y)rMoveTo(float x,float y)基于当前最后一个点位置移
2022-12-02 michael007js 286
玩过自定义View的小伙伴都知道,在View的绘制过程中,有一个类叫做Path,Path可以帮助我们实现很多自定义形状的View,特别是配合xfermode属性来使用的时候。OK,那我们今天就来看看Path中那几个常用的API。1.moveTomoveTo表示将绘制点移动到某一个坐标处,该方法并不会进行绘制,主要是用来移动画笔。默认情况下起始坐标位于(0,0)点,我们可以手动调整默认位置。2.li
2022-12-02 michael007js 687