与其感慨路难行,不如马上出发。
既已决定要:
我想要两颗西柚
1、可以通过修改 packages\apps\Launcher3 的清单文件,为其主页过滤器设置其优先级 priority 为 -1,并添加一个 Category ,然后在开发的桌面应用的首 Activity 按照添加过滤器类别 HOME和HOME.TEST
1 | 如: |
2、在编译的镜像中,删除原系统的 launcher3.apk,内置自己开发的 launcher应用
注意
内置的应用如果包含静态so文件,需要把so文件打包放到指定的位置(/system/lib/ or /vendor/lib/ or …)
1 | 如: |
内置的应用如果包含静态so文件,需要把so文件打包放到指定的位置(/system/lib/ or /vendor/lib/ or …)
解释:
在微信浏览器使用html2canvas遇到的坑。标签结构在正常显示,用html2canvas生成图片时出现问题如下:
bug:
input输入框value下移
transform属性引起css生成的箭头位置变化
android端-微信浏览器:边框丢失

解决:
我们一起来看看大家对这个知识的掌握程度吧。
在早期的博客的里面,很多时候,见到有如下的介绍:
上述描述每句话都可以认为是错的
自定义ViewGroup过程中,需要在onMeasure里面对子View进行测量。
调用ViewGroup的静态方法getChildMeasureSpec来直接获取目标子View的MeasureSpec,然后手动measure(比如ScrollView、NestedScrollView、DrawerLayout、TabLayout、ConstraintLayout)。
其实,measureChild和measureChildWithMargins里面也是会通过getChildMeasureSpec方法来获取MeasureSpec的,也就是说,上面提到的这些容器,在测量它们的子View之前,都是先通过getChildMeasureSpec方法来获取子View的宽高MeasureSpec,然后传给子View的measure方法的。
more >>VSCode 内置很多快捷键,可以大大的提高我们的开发效率。
| 快捷键 | 作用 |
|---|---|
| Ctrl+X | 剪切 |
| Ctrl+C | 复制 |
| Ctrl+Shift+K | 删除当前行 |
| Ctrl+Enter | 在当前行之后插入一行 |
| Ctrl+Shift+Enter | 在当前行之前插入一行 |
| Alt+Up/Down | 移动当前行上下 |
| Shift+Alt+Up/Down | 在当前行上下复制当前行 |
| Ctrl+Up/Down | 行视图上下偏移 |
| Alt+PageUp/PageDown | 屏视图上下偏移 |
| Ctrl+Shift+[ | 折叠区域代码 |
| Ctrl+Shift+] | 展开区域代码 |
| Ctrl+K Ctrl+[ | 折叠区域内所有代码(包括子域和父域) |
| Ctrl+K Ctrl+] | 展开区域内所有代码(包括子域和父域) |
| Ctrl+K Ctrl+0 | 折叠所有区域内的代码 |
| Ctrl+K Ctrl+J | 展开所有区域内的代码 |
| Ctrl+K Ctrl+C | 加行注释 |
| Ctrl+K Ctrl+U | 删除行注释 |
| Ctrl+/ | 添加关闭行注释 |
| Shift+Alt+A | 添加关闭区域注释 |
| Alt+Z | 添加关闭自动换行 |
| 快捷键 | 作用 |
|---|---|
| Ctrl+T | 启动符号搜索框 |
| Ctrl+G | 跳转行 |
| Ctrl+P | 启动文件搜索框,方便快速打开文件 |
| Ctrl+Shift+O | 跳转至符号处 |
| Ctrl+Shift+M | 显示问题面板 |
| F8 | 跳转到下一个错误或者警告 |
| Shift+F8 | 跳转到上一个错误或者警告 |
| Ctrl+Shift+Tab | 切换到最近打开的文件 |
| Alt+Left/Right | 向前/向后 |
| 快捷键 | 作用 |
|---|---|
| Ctrl+F | 查询 |
| Ctrl+H | 替换 |
| F3 | 查找下一个 |
| Shift+F3 | 查找上一个 |
| Alt+Enter | 选中所有匹配的查询字符 |
| Alt+C | 切换是否区分大小写查找 |
| Alt+R | 切换是否使用正则查找 |
| Alt+W | 切换是否使用全词查找 |
编辑/窗口管理
| 快捷键 | 作用
| :———– |:————
| Ctrl+Shift+N | 打开新窗口
| Ctrl+W | 关闭窗口
| Ctrl+F4 | 关闭当前编辑窗口
| Ctrl+K F | 关闭当前打开的文件夹
| Ctrl+\ | 拆分编辑器(最多拆分为三块)
| Ctrl+1/2/3 | 切换焦点在不同的拆分窗口
| 快捷键 | 作用 |
|---|---|
| Ctrl+N | 新建文件 |
| Ctrl+O | 打开文件 |
| Ctrl+S | 保存文件 |
| Ctrl+K S | 保存所有文件 |
| Ctrl+Shift+S | 另存为 |
| Ctrl+K W | 关闭一组拆分的窗口 |
| Ctrl+K Ctrl+W | 关闭所有编辑窗口 |
| Ctrl+Shift+T | 撤销最近关闭的一个文件编辑窗口 |
| Ctrl+Tab | 调出最近打开的文件列表,重复按会切换到下一个 |
| Ctrl+Shift+Tab | 调出最近打开的文件列表,重复按会切换到上一个 |
| Ctrl+K P | 复制当前打开文件的存放路径 |
| Ctrl+K R | 打开当前编辑文件存放位置【文件管理器】 |
| Ctrl+K O | 在新的编辑器中打开当前编辑的文件 |
| 快捷键 | 作用 |
|---|---|
| F11 | 切换全屏显示 |
| Ctrl+B | 切换侧边栏显示隐藏 |
| Ctrl+Shift+V | Markdown预览切换 |
| 快捷键 | 作用 |
|---|---|
| Home/End | 光标跳转到行首/尾 |
| Ctrl+Home/End | 光标跳转到页首/尾 |
| Alt+Click | 插入光标(支持多个) |
| Ctrl+Alt+Up/Down | 上下插入光标(支持多个) |
| Ctrl+U | 撤销最后一次光标操作 |
| Shift+Alt+I | 插入光标到选中范围内所有行行尾 |
| Ctrl+I | 选中当前行 |
| Shift+Alt+(drag mouse) | 在鼠标拖动区域的每行行尾插入光标 |
| Ctrl+F2 | 选择当前字符的所有出现,然后进行操作 |
| Ctrl+Shift+\ | 跳转到与当前括号匹配的括号 |
上面只是一些VSCode中比较常用的快捷键,更多快捷键请看这里。
Android获取应用通知栏权限,并跳转通知设置页面(全版本适配)
1 | public class NotificationUtil { |
HEAD^^就是上上版本,HEAD~100 回退100次)ps:所以最好不要用这种。
1 | //android中为textview动态设置字体为粗体 |
Lifecycle管理生命周期也是观察者模式,其中主要涉及到以下几个类:LifecycleObserver、LifecycleOwner、Lifecycle、State、Event
Event枚举:
1 | public enum Event { |
State枚举:
public enum State {
DESTROYED,
INITIALIZED,
CREATED,
STARTED,
RESUMED;
public boolean isAtLeast(@NonNull State state) {
return compareTo(state) >= 0;
}
}
more >>
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true
SongTaste