Android 透明度换算
讲解 Android 颜色 ARGB 中透明度的换算方法,用透明度百分比乘以 255 再转成十六进制即为颜色值前两位,并列出从百分之百对应 FF 到百分之零对应 00、每隔百分之五一档的二十一档常用对照表。
讲解 Android 颜色 ARGB 中透明度的换算方法,用透明度百分比乘以 255 再转成十六进制即为颜色值前两位,并列出从百分之百对应 FF 到百分之零对应 00、每隔百分之五一档的二十一档常用对照表。
实现 Android 删除指定目录下特定前缀或后缀文件的工具,DeleteRunnable 接收目录路径、前后缀标志与规则字符串三个参数,内部用实现 FilenameFilter 接口的过滤器配合 listFiles 筛选文件后逐个删除。
分析 Android 冷启动白屏的成因与四种处理方案,重点对比把 windowDisablePreview 设为 true 与用 layer-list 占位图配置 windowBackground 两种做法,前者会让启动看似延迟数秒,后者能有效消除白屏。
演示 Android 帧动画的实现,在 drawable 目录用 animation-list 标签按顺序声明三十多帧图片,给每帧设置 32 毫秒的 duration,用 oneshot 属性控制是否只播放一次,再在代码中启动动画。
解决使用 EventBus 时报 ViewRootImpl 的 CalledFromWrongThreadException 异常,原因是订阅方法用 BACKGROUND 线程模式更新了 UI,把模式改为 MAIN 或在更新控件处包一层 runOnUiThread 即可。
实现 Android 监控服务 MonitoringService 检测应用是否存活,用 Timer 每 10 秒调用 isClsRunning 检查三个 Activity 的运行状态,全部挂掉时携带 FLAG_ACTIVITY_NEW_TASK 重启入口页面,并注册 kill_self 广播用于停止监控。
分享 Android 工具类 BrightnessManager 的实现,通过修改 Window 的 LayoutParams 中 screenBrightness 字段设置当前页面亮度,取值 0 到 1.0f,并提供 setAlpha、lightoff 调暗至 0.3f 与 lighton 恢复 1.0f 等透明度方法。
记录 Android 从一个应用打开另一个应用的写法,构造 ACTION_MAIN 加 CATEGORY_LAUNCHER 的 Intent,再用目标应用包名与 MainActivity 全类名创建 ComponentName 并调用 setComponent 后 startActivity 即可完成跳转。
实现 Android Bitmap 高斯模糊的工具类 BlurBitmapUtil,先按 0.4 倍比例缩小图片,再用 RenderScript 的 ScriptIntrinsicBlur 配合 Allocation 渲染,模糊半径最大可设 25f,并给出加载到 ImageView 的调用示例。
手把手实现 Android 自定义加载弹窗,继承 ProgressDialog 的 LoadingView 设置自定义布局,配合 16dp 圆角的 shape 背景和 animated-rotate 从 0 到 720 度的环形渐变旋转动画,做出带文字提示的加载中对话框。