自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yechaoa

好记性不如烂笔头

  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

转载 Android SpannableString详细解析

文章目录什么是SpannableString?各种SpanForegroundColorSpan 前景色BackgroudColorSpan 背景色ClickableSpan 点击事件URLSpan 超链接MaskFilterSpan 模糊 浮雕RelativeSizeSpan 字体相对大小AbsoluteSizeSpan 字体绝对大小ScaleXSpan 字体x轴缩放StyleSpan 样式TypefaceSpan 字体TextAppearanceSpan 文字外貌UnderlineSpan 下划线Str

2020-10-29 15:32:13 1211

原创 Android 服务协议隐私政策高亮可点击写法

实现效果:亦或者是在弹窗中显示,都是一样的。代码比较简单: private fun setText() { //拼接字符串 val spanBuilder = SpannableStringBuilder("同意") /** * 服务协议 */ var span = SpannableString("服务协议") //服务协议点击事件 span.setSpan(

2020-10-24 19:38:09 3705 5

原创 Android 全埋点解决方案

本文参考《Android全埋点解决方案》一书,并在实操中查漏补缺。前言为什么选择全埋点呢,因为传统的手动埋点虽然简单、扩展性强,但弊端也很明显:开发时间成本较高改动的时间成本也较高容易出现漏埋、埋错的情况代码侵入性强但也不是说全埋点就一定没有弊端,比如扩展性较差。经过调研,实际上都是以全埋点为主、手动埋点为辅的情况,从而达到比较理想的埋点效果。本文内容可能稍微有点长,但是很简单,别太长不看啊,最后有demo源码。页面一般来说我们需要的数据就是,用户在哪个页面干了什么,也就是.

2020-10-21 20:42:19 2193

转载 比 Java 更强大的 kotlin.Deprecated

我们都知道 Java 有一个java.lang.Deprecated注解,用来将一个 API 标记为“废弃”,或者说“不建议使用”。比如 String 类就有一个被标记为 Deprecated的构造函数:@Deprecatedpublic String(byte ascii[], int hibyte) { this(ascii, hibyte, 0, ascii.length);}Java 还提供了一个 @deprecated 的文档标签,用于提供相关信息。这个注解存在几个缺陷:无

2020-10-19 16:19:05 1837

原创 Android Studio 4.0 提交项目到GitLab

常规操作,但是AS4.0有一些改动,且提交过程不是很顺畅,所以记录一下。git环境就不说了,自己配置1,先忽略文件有些文件不是公用的是可以不用上传的,还有一些是编译的文件也不用上传。AS4.0以前,忽略文件是可以在settings-version control里面可视化操作的,但是升级AS4.0之后,这个设置没有了,但是我们可以在根目录的.gitignore文件里添加。*.iml.gradle.idealocal.properties.DS_Store/build*/build

2020-10-10 16:48:34 1192

原创 Installation did not succeed。apk安装失败的一些解决办法

其实有挺多原因会导致安装失败的,所以解决办法也不尽相同,下面列举一些解决办法。一先查看手机环境,是否打开USB调试,是否允许安装应用,手机是否处于打开状态,黑屏状态下也是会安装失败的。二清除缓存并重启AS可以尝试同步重启手机。三重试安装,可能会在安装提示的时候点错了,导致安装失败。四删除.gradle文件夹、.idea文件夹,build文件夹。然后重新编译会自动生成,这个可能是因为升级了AS,或者改了某些配置导致的版本不对称,所以删除重新编译即可。五编译期间注意查看控制台中buil

2020-10-09 10:32:00 5259 7

原创 ‘annotationProcessor‘ dependencies won‘t be recognized as kapt annotation processors. Please change

‘annotationProcessor’ dependencies won’t be recognized as kapt annotation processors. Please change the configuration name to ‘kapt’ for these artifacts: ‘com.airbnb:deeplinkdispatch-processor:4.1.0’.简而言之,需要把annotationProcessor切换为kapt就可以了。切换前: api .

2020-10-08 16:04:02 4565 1

原创 DSL element ‘android.dataBinding.enabled‘ is obsolete and has been replaced with ‘android.buildFeatu

DSL element ‘android.dataBinding.enabled’ is obsolete and has been replaced with ‘android.buildFeatures.dataBinding’.It will be removed in version 5.0 of the Android Gradle plugin.实际上就是换一种写法。原来: dataBinding { enabled true }现在: bu.

2020-10-08 15:29:38 2832 1

so文件(全平台)so

so文件(全平台),so文件(全平台),so文件(全平台),so文件(全平台),so文件(全平台),so文件(全平台),

2020-08-13

代码版本控制工具

TortoiseSVN TortoiseGit

2016-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除