第一种 使用 layer-list
1 | <?xml version="1.0" encoding="utf-8"?> |
第二种 使用自定义控件
1 |
|
本帖附件

乱码三千 – 码出一个新世界
1 | <?xml version="1.0" encoding="utf-8"?> |
1 |
|
本帖附件

1 | <?xml version="1.0" encoding="utf-8"?> |
shadowDX、shadowDy、shadowRadius,分别指的是阴影的横、纵坐标偏移,以及阴影的半径,
如果是TextView可以直接在布局中设置:
1 | <TextView |
<TextView
android:id="@+id/btn_test_performance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="5dp"
android:text="@string/hello"
android:background="@drawable/shape_round_white"
android:padding="20dp"
android:layout_marginTop="10dp"
android:layout_gravity="center"/>这种方式有个局限性, 那就是api25以上才能显示出来
1 | /** |
属性文件:
1 | <declare-styleable name="ShadowLayout"> |
该种方式定制性强, 兼容性好, 需要注意的是避免将9patch宽高设置过大 小图可以拉大 大图不方便缩小
链接地址:http://inloop.github.io/shadow4android/

本帖附件

本文持续更新中
咱们接下来挨个介绍, 首先
如果你是小白, 追求实用性, 并且想快速上手远程控制, 那么第三方软件无疑是最好的选择, 如果你想用, 那么TeamViewer绝对是首选,个人版免费, 而且可设置无人值守, 只需一个ID和密码就能立马控制远程主机, 速度非常可观
官网地址: https://www.teamviewer.cn/cn/
如果你不情愿在电脑上装一堆软件, 或者想设置备用控制方案, 那么我建议你使用端口映射的方案, 将公网ip转发到内网需要控制的电脑ip上
如果你有IT技术功底, 喜欢折腾, 并且有一颗耐操的脑袋, 同时不差钱, 那么我会建议你采用frp方案
linux可参考:https://www.jianshu.com/p/3488968c81cb
本帖附件


需要先安装docker, 可参考《ubuntu安装docker详细步骤》
启动docker
1 | sudo systemctl start docker |
停止docker
1 | sudo systemctl stop docker |
查看docker状态
1 | sudo systemctl status docker |
重启docker
1 | sudo systemctl restart docker |
设置开启启动docker
1 | sudo systemctl enable docker |
查看本地镜像
1 | sudo docker images |
拉取最新镜像
1 | sudo docker pull [镜像名]:latest |
创建并后台运行容器
1 | sudo docker run -itd --name=[名称] [镜像名]:版本名 |
查看当前所有运行的容器信息
1 | sudo docker ps |
运行容器 并设置在后台一直运行
1 | sudo docker run -itd --name [名称] -d [镜像名] |
查看镜像可用版本
1 | sudo docker search [镜像名] |
进入指定容器
1 | sudo docker exec -it [镜像名] /bin/bash |
创建容器 并将本地 8080 端口映射到容器内部的 80 端口
1 | sudo docker run --name [镜像名] -p 8080:80 |
创建容器 并将主机中当前目录下的 test 挂载到容器的指定目录
1 | sudo docker run --name [镜像名] -v $PWD/test:[容器目录] |
创建容器 并指定工作目录
1 | sudo docker run --name [镜像名] -w [工作目录] |
停止运行容器
1 | docker stop [容器id] |
或者
1 | docker stop [容器名] |
创建容器 并设置需要密码才能访问容器服务
1 | sudo docker run --name [镜像名] --auth |
查看容器内的标准输出
1 | sudo docker logs [容器名] |
删除容器
1 | sudo docker rm -f [容器id] [容器id2] //多个容器以空格隔开-f表示强制删除 |
重启容器
1 | sudo docker restart [容器id] |
导出容器
1 | sudo docker export [容器id] > [目标文件] |
查看容器内部运行的进程
1 | sudo docker top [容器名] |
查看容器的配置和状态信息
1 | sudo docker inspect [容器名] |
查询最后一次创建的容器
1 | sudo docker ps -l |
为镜像添加一个新的标签
1 | sudo docker tag [镜像名] |
查询镜像在什么位置
1 | which [镜像名] |
查看容器资源占用情况
1 | sudo docker stats |
删除所有容器
1 | sudo docker rm $(docker ps -aq) |
暂停指定容器
1 | sudo docker pause [容器名] |
查看具体指令的使用方法
1 | sudo docker help [具体指令] |
查看当前已有的网络
1 | sudo docker network ls |
创建自定义网络
1 | docker network create [网络名] |
后台运行容器 并指定容器想要连接的网络
1 | docker run -dit --name [容器名] --network [网络名] alpine |
将指定容器连接到指定网络上
1 | docker network connect [网络名] [容器名] |
删除指定网络
1 | docker network rm [网络名] |
查看某时间段日志
1 | docker logs -t --since="2019-10-24T13:23:37" --until "2019-10-25T12:23:37" [容器名] |
查看某时间之后的日志
1 | docker logs -t --since="2019-10-24T13:23:37" [容器名] |
查看最近30分钟的日志
1 | docker logs --since 30m [容器名] |
只打印最后50行日志
1 | docker logs --tail=50 [容器名] |
查看指定时间后的日志,只显示最后100行
1 | docker logs -f -t --since="2019-10-24" --tail=100 CONTAINER_ID |
设置开机自动启动docker服务
1 | sudo systemctl enable docker |
禁止自启
1 | sudo systemctl disable docker |
查看docker版本
1 | docker version |
创建数据卷容器
1 | docker run -it --name=data -v /volume ubuntu:latest /bin/bash |
其他容器挂载数据卷容器
1 | docker run -it --name=c1 --volumes-from data ubuntu:latest /bin/bash |
启动已经停止的容器
1 | docker start [容器名] |
强制停止正在运行的容器
1 | docker kill [容器名] |
查看所有容器id, 包括已经停止的容器
1 | docker ps -aq |
查看所有已启动容器id
1 | docker ps -q |
查看容器内部的进程
1 | docker top 容器名 |
容器配置更新
1 | docker update xxx |
比如 更新是否自启动:
1 | docker update --restart=always |

将文档导出PDF, 内容一旦比较多, 如果没有目录跳转的话找起来特别费劲, 以下是解决方案


软件下载链接:https://wkhtmltopdf.org/downloads.htmlwkhtmltopdf --disable-smart-shrinking html文件路径 导出的pdf文件路径 //html路径可使用网络路径
此法需要nodejs环境
第一步.安装i5ting_toc
npm install i5ting_toc -g第二步 使用转换指令 先将md转成html
i5ting_toc -f [需要转换文件名].md第三步 预览转换后的文件
i5ting_toc -o //默认在同级目录生成preview文件夹第四步 用浏览器或者将HTML转成PDF即可
效果如下:
第一步: 安装插件
第二步:打开需要转换的.md文件,右键选择打开同步预览
第三步 将光标放置想要生成目录的输出位置 右键打开命令面板 并输入Markdown Preview Enhanced: Create Toc

第四步 点击保存 文档将自动生成目录

第五步 导出你需要的格式 建议导出HTML 然后进行相应的转换即可

最终效果如下:
本帖附件

对于新型冠状病毒肺炎你需要了解一些基本知识:
一、病毒对外界环境耐受情况:对热敏感,56℃ 30分钟、75%酒精、含氯消毒剂(比如84消毒液)、过氧化氢消毒液(家庭很少用),氯仿等脂溶剂均可有效灭活病毒
二、传播途径:飞沫传播—打喷嚏;近距离面对面;接触传播。
三、感染后初期症状:发热(不一定高热,很多病例最初是低热),乏力,呼吸道症状以干咳为主,并逐渐出现呼吸困难,严重者急性呼吸窘迫综合征、脓毒症休克、难以纠正的代谢性酸中毒和出凝血功能障碍。部分患者起病症状轻微,可无发热。
四、化验检查:发病早期白细胞总数正常或减低,淋巴细胞计数减少。
多数患者C反应蛋白和血沉升高,降钙素原正常。
五、痊愈标准:体温恢复正常3天以上、呼吸道症状明显好转,连续两次呼吸道病原核酸检测阴性(间隔至少1天),可解除隔离出院或根据病情转至相应科室治疗其他疾病
提醒广大职工、研究生及离退休同志:
一、减少外出,减少接触他人的机会
二、有接触疑似或者确诊病人史,或者接触过来自疫区人员,从疫区返回人员,应自行居家隔离14天
三、减少去生鲜市场,避免传染风险
四、外出戴好口罩,最好N95口罩,压好密封条
五、勤洗手
六、饮食清淡,穿衣适中,增强自身免疫力
七、避免在未加防护的情况下接触野生或养殖动物
八、少吃野味
九、假如出现类似症状,请您戴好口罩及时到发热门诊排查。
药店里五花八门的口罩该如何选择?出门是不是一定要佩戴“网红”N95口罩?
市面上常见的口罩可以分为三类:
1.医用外科口罩
2.医用防护口罩(N95口罩)
3.普通棉纱口罩

其中医用外科口罩可以阻挡70%的细菌,N95口罩可以阻挡95%的细菌,而棉纱口罩只能阻挡36%的细菌,因此我们应该选择前两种口罩。
1.医用外科口罩
医用外科口罩有三层,从外到内分别是防水层、过滤层、舒适层,舒适层是一层纱布,佩戴时白色的纱布朝内,蓝色的防水层朝外,有金属片的一边朝上,不要戴反,橡皮筋挂上双耳后捏紧金属片和鼻子贴合,抚平两颊,使口罩和面部之间尽量不留缝隙。
第一步 将口罩罩住鼻、口及下巴,橡皮筋系在双耳后

*第二步. 将双手指尖放在鼻夹上,从中间位置开始,用手指向内按压,并逐步向两侧移动,根据鼻梁形状塑造鼻夹, 调整系带的松紧度 *

2. 医用防护口罩(N95口罩)
常用的N95口罩实际上分为两种,
一种是防生物口罩(蓝绿色),型号1860或9132;
一种是防尘口罩(白色),型号8210。
市民在购买时应选择防生物的医用防护口罩。佩戴防生物医用防护口罩时,将口罩罩在面部,先将下面的一根橡皮筋固定在脖子上,再将上面一根橡皮筋固定在头上,捏紧金属片,让口罩和面部贴合,不留缝隙。
第一步. 一手托住防护口罩,有鼻夹的一面背向外
第二步. 将防护口罩罩住鼻、口及下巴,鼻夹部位向上紧贴面部

第三步. 用另一只手将下方系带拉过头顶,放在颈后双耳下

第四步. 再将上方系带拉至头顶中部

第五步. 将双手指尖放在金属鼻夹上,从中间位置开始,用手指向内按鼻夹,并分别向两侧移动和按压,根据鼻梁的形状塑造鼻夹

洗手应该在流动水下进行,取适量洗手液(肥皂),均匀涂抹至整个手掌,认真搓揉双手至少15秒,清洗所有皮肤和指缝,具体步骤有七步:
1. 掌心相对,手指并拢相互揉搓
2. 手心对手背沿指缝互相揉搓,交替进行
3. 掌心相对,双手交叉指缝相互揉搓
4.双手指相扣互搓
5. 弯曲各手指关节在另一只手掌心旋转揉搓,交换进行
6. 一手握另一手大拇指旋转揉搓,交换进行
7. 将五个手指尖并拢放在另一手掌心旋转揉搓,交换进行
最后,在流动水下冲净双手,擦干,擦干宜使用纸巾。




本帖附件


这里建议大家使用阿里云的镜像源
1 | sudo apt-get install \ |
1 | sudo chmod 777 /etc/apt/sources.list //设置文件可读可写可执行 |
1 | deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse |
1 | curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh - |
1 | sudo add-apt-repository \ |
1 | sudo apt-get update |
1 | sudo apt-get install docker-engine |
1 | sudo systemctl enable docker |
1 | sudo docker run hello-world |
执行 sudo docker run hello-world 的时候,如果你没有构建过这个hello-world镜像,或从其它地方拉取过这个镜像,docker自动去docker上拉取最新的hello-world 镜像
至此 docker安装完成
创建或修改 /etc/docker/daemon.json 文件
1 | # vi /etc/docker/daemon.json |
1 | Docker中国区官方镜像 |

1 | deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse |
1 | #阿里公钥 |
1 | deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse |
1 | deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse |
1 | #中科大公钥 |
1 | deb http://debian.ustc.edu.cn/ubuntu/ precise main restricted universe multiverse |
deb http://mirror.bjtu.edu.cn/ubuntu/ precise main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ precise-security main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ precise-updates main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-security main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-updates main multiverse restricted universedeb ftp://mirror.lzu.edu.cn/ubuntu/ precise main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ precise-security main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ precise-updates main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu-cn/ precise main multiverse restricted universedeb http://ftp.sjtu.edu.cn/ubuntu/ precise main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ precise-security main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ precise-updates main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu-cn/ precise main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ precise main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ precise-security main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ precise-updates main multiverse restricted universe1 | deb http://centos.bitcomm.cn/ubuntu trusty main restricted universe multiverse |
1 | deb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse |
本帖附件


1 | sudo apt-get update |
1 | sudo apt-get upgrade |
1 | sudo edit /etc/apt/sources.list |
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list_save |
1 | sudo apt-get install [软件名称] |
sources.list文件中的archive.ubuntu.com全部替换成mirrors.ustc.edu.cn1 | sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list |
1 | sed -n ‘100,200p’+文件 |
1 | sed '2,5d'+文件 |
1 | sed 'My/,/You/d'+文件 |
1 | sed '/My/,10d'+文件 |
1 | sudo chmod 777 /etc/apt/sources.list |
1 | cat /proc/version |
1 | ifconfig |
或者
1 | ip addr |
1 | mkdir -p ~/python ~/python/myapp |
1 | netstat -na |grep [端口号] |
1 | whoami |
本帖附件
