在开发 Android 手机应用过程中,可能需要对一些手势作出响应,如:单击、双击、长按、滑动、缩放等。这些都是很常用的手势。就拿最简单的双击来说吧,假如我们需要判断一个控件是否被双击(即在较短的时间内快速的点击两次),似乎是一个很容易的任务,但仔细考虑起来,要处理的细节问题也有不少,例如:记录点击次数,为了判断是否被点击超过 1 次,所以必须记录点击次数。记录点击时间,由于双击事件是较快速的点击
2022-12-09 michael007js 465
一、简介java中的日期处理一直是个问题,没有很好的方式去处理,所以才有第三方框架的位置比如joda。 文章主要对java日期处理的详解,用1.8可以不用joda。1. 相关概念首先我们对一些基本的概念做一些介绍,其中可以将GMT和UTC表示时刻大小等同。1.1 UT时间 UT反应了地球自转的平均速度。是通过观测星星来测量的。 具体可以看参考1.1.2 UTC UTC是用原子钟时间做参考,但保持和
2023-04-14 michael007js 438
DiffUtil 是 Android 中用于计算两个列表之间差异的实用工具类。它可以优化 RecyclerView 的刷新操作,仅刷新需要更新的部分,从而提高性能并减少不必要的操作。本篇博客将从简单到高级,介绍使用 DiffUtil 的基本流程以及一些高级用法,帮助开发者更好地使用 DiffUtil。什么是 DiffUtil?DiffUtil 是一个用于计算两个列表之间差异的实用工具类。它通过比较
2023-03-07 michael007js 423
先看官网对 CoordinatorLayout 的介绍 CoordinatorLayout is a super_powered FrameLayout。CoordinatorLayout is intended for two primary use cases:As a top-level application decor or chrome layout;As a container fo
2023-02-17 michael007js 418
导读本篇文章将介绍Materia_Design控件,design包中的AppBarLayout的简单使用说明控件简介AppbarLayout继承于LinearLayout,是一个垂直的LinearLayout,它实现了Material Design的许多功能和特性,即滚动手势(Scrolling Gestures)我们可以定义行为Behavior,当某个可滑动View(如ListView)滑动手势
2022-12-02 michael007js 414
setLineSpacing()原型为public void setLineSpacing(float add, float mult); 参数add:增加的间距数值,对应android:lineSpacingExtra参数。 参数mult:增加的间距倍数,对应android:lineSpacingMultiplier参数。最终结果:原行间距 x mult+add tv.setLineSpacin
2023-01-06 michael007js 413
硬件加速Android 3.0 (API level 11), 开始支持 所有的View 的canvas都会使用GPU,但是硬件的加速会占有一定的RAM。 在API >= 14上,默认是开启的,如果你的应用只是标准的View和Drawable,全局都打开硬件加速,是不会有任何问题的。 然而,硬件加速并不支持所有的2D画图的操作,这时开着它,可能会影响到你的自定义控件或者绘画,出现异常等行为,
2022-12-08 michael007js 412
public enum Config { ALPHA_8 (1), RGB_565 (3), @Deprecated ARGB_4444 (4), ARGB_8888 (5), RGBA_F16 (6), HARDWARE (7); }枚举值:ALPHA_8每个像素存储为单个半透明(alpha)通
2022-11-26 michael007js 401