没有什么困难是不能打败我的!
使用SpannableStringBuilder注意事项
需求中有一行文字显示的大小、颜色、下划线、加粗等不同,可以用几个TextView实现,也可以用SpannableStringBuilder在一个TextView上实现,还可以在string的文件中用H5的语法写。
你需要知道的inlcude标签属性
有了解可以通过<include>标签导入其他布局xml以实现服用的效果。但,一直不明白到底是怎么实现的。这篇就是对怎么实现的探索。 官网说明: 如果要使用 <include> 标记来替换布局属性,您必须同时替换 android:layout_height 和 android:layout_width 才能让其他布局属性生效。
SharedPreferences源码深度解析
SharedPreferences源码分析 # 官方提供的保存键值对的方式, 支持存储类型 # null String 基本数据类型 基本数据类型或String数组 list map set 类型源码:XmlUtils#readThisValueXml
Android library模块publish到JitPack完成流程
背景 # 前段时间想要找一个支持Material You主题的FloatingActionButton,几经辗转总算是找到了,但组件是在另一个开源库的基础上封装继承,一直拖到昨天才把该部分抽离出来,放到了单独项目中。
Android Studio代理配置指南
平时为了速度总是习惯给Android Studio设置代理,通过Android Studio的网络请求都走代理。代理总是抽风,代理设置总在"auto-detect proxy settings"和"Manual proxy configuration"之间横跳。还真不知道代理到底用的是哪个,只要能正常拉下来依赖,用哪个不重要。
Linux文件系统权限管理
权限 # Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。 为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 常用的命令ls可以简单的列出所有不隐藏的文件,ls -l使用长格式列出文件及目录的详细信息。
Gradle显示任务面板技巧
Android Studio Gradle Tasks # Giraffe之前版本 # 设置路径:File -> Settings -> Experimental 取消勾选“Do not build Gradle task list during Gradle sync”后,点击“Sync Project with Gradle Files” Giraffe(2022.3.1) # 设置路径同上 不要点击“Layout Inspector”! 勾选后点击“点击Sync Project with Gradle Files”
RecyclerView.shouldIgnore() NPE问题排查日记
背景 # 这周在写商业化需求(广告)时,为了方便复用,简单改了下传入的Bean。第一次运行时没有一切正常,第二次之后再运行时,提示空指针异常,异常的堆栈是RecyclerView,异常信息(当时没有保存日志,找了其他人相同异常的堆栈,原因是同一个):