ConstrainLayout基础
ConstraintLayout 和 AS 工具介绍 https://developer.android.com/reference/android/support/constraint/ConstraintLayout ConstraintLayout 特性 Relative positioning Margins Centering positioning Cir...
ConstraintLayout 和 AS 工具介绍 https://developer.android.com/reference/android/support/constraint/ConstraintLayout ConstraintLayout 特性 Relative positioning Margins Centering positioning Cir...
渠道包方案 1、productFlavor 其实就是采用 gradle 去配置不同的 productFlavor,然后用 manifestPlaceholder 占位符去解析 manifest 文件里面的 meta-data 的 value,来进行打包,耗时耗力,原理就是一个一个包去打,虽然免去了手动,但是很耗时。 2、美团一代 这种只有在 v1 签名的时候才可以这么做,它将 APK...
热修复介绍 什么是热修复 动态更新修复 apk 的行为。不用发布新版本,用户可以更新新的功能及 bug 修复 市面上的热修复技术 QQ 空间的超级补丁方案(Nuwa) 超级补丁基于 DEX 分包方案,使用了多 DEX 加载的原理,大致原理:把 Bug 方法修复以后,放到一个单独的 DEX 里,插入到 dexElements 数组的最前面,让虚拟机去加载修复完后的方法 微信的 Ti...
自定义 Result 类 internal suspend inline fun <reified T> BaseRxHttp.awaitResult(timeoutMillis: Long = 0L): Result<T> { return runCatching { if (timeoutMillis <= 0L) { ...
TextView 效果 ellipsize 什么是 ellipsize ? TextView 中可以设置一个 ellipsize 属性,作用是当文字长度超过 textview 宽度时的显示方式: 例如,字符串 “abcedfghijklmn” 的各种现实效果: android:ellipsize=”start”—–省略号显示在开头 “…lmn” android:ellip...
TextView 文字跑马灯 TextView 跑马灯(显示一行,滚动显示) TextView 不会主动获取焦点,一个布局中只能有一个组件获取焦点获取到焦点时跑马灯。设置成 maxLines=”1” 时跑马灯不工作,要用 singleLine=”true” 系统自带的 xml 中进行属性配置 android:ellipsize="marquee" android:focusabl...
TextView 文字缩放 Autosizing(TextView 文本大小自动适配) Autosizing 方式 官方推出的 TextView 的 Autosizing 方式,在宽度固定的情况下,可以设置最大文本 Size 和最小文本 Size 和每次缩放粒度。 Autosizing 使用 xml XML 方式: app:autoSizeTextType="uniform" ...
TextView 文字渐变 TextView 文字渐变 文字渐变基础 LinearGradient 是 Android 中用于实现线性渐变的核心类,通过定义起点、终点和颜色分布,可在 View 的绘制过程中实现颜色过渡效果 构造函数: public LinearGradient(float x0, float y0, float x1, float y1, int[] color...
TextView 排版效果 右侧 TextView 恒定存在, 左侧宽度自适应 LinearLayout 实现方式 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:lay...
Span 开源库 spannable 支持正则匹配/图文混排/图标/GIF 动画/自定义表情包。 GitHub - liangjingkanji/spannable: Android最好的Spannable富文本工具, 唯一支持正则匹配/图文混排/图标/GIF动画/自定义表情包 SimplifySpan 示例: private fun getSpanText( ...