实现Snackbar弹出时任意View闪躲
简介
Snackbar 是一个底部弹出消息的控件,类似Toast。
基本使用:
1 | Snackbar.make(view, message_text, duration) |
我们知道,在根布局是CoordinatorLayout,并且设置CoordinatorLayout的behavior之后,可以实现Snackbar弹出的时候,fab(浮动按钮)会自动向上移动防止被遮挡。
Snackbar 是一个底部弹出消息的控件,类似Toast。
基本使用:
1 | Snackbar.make(view, message_text, duration) |
我们知道,在根布局是CoordinatorLayout,并且设置CoordinatorLayout的behavior之后,可以实现Snackbar弹出的时候,fab(浮动按钮)会自动向上移动防止被遮挡。
Android 用的矢量图是 VectorDrawable(xml格式)。
如果我们想对已经转换成 VectorDrawable 的矢量图进行修改的话,
最好先转换回 SVG 格式再使用 inkscape 之类的矢量图图形编辑工具进行修改。
将头部的:
1 |
|
替换成
1 | <svg xmlns="http://www.w3.org/2000/svg" |
闭标签也做相应修改。
将android:width
替换成width
将android:height
替换成height
将android:pathData
替换成d
。
将android:fillColor
替换成fill
。
如果没有android:fillcolor
的话,要加上fill="#ffffff"
将android:viewportHeight="24" android:viewportWidth="24"
替换成viewBox="0 0 24 24"
的形式。
Vector Drawable
1 |
|
SVG
1 | <svg xmlns="http://www.w3.org/2000/svg" |
https://stackoverflow.com/questions/44948396/convert-vectordrawable-to-svg
中途修改.gitignore文件后,直接commit的话,以前git跟踪的文件就算添加进忽略里,依旧会跟踪变化。
https://github.com/github/gitignore
修改.gitignore文件后,先进行一次commit操作。
git commit -m "update .gitignore"
然后,清空本地暂存区的内容:
git rm -rf --cached .
再次添加跟踪文件:
git add .
再进行一遍commit提交修改。
git commit -m "delete files that should not be tracked"
我本地测试的时候,似乎修改.gitigonore文件的操作和下面的操作要分属两个commit才能生效。
不过也有可能是操作问题,这里有待检验。
先说下该项目用到的一些技术:
本文首发于我的简书页面。
自己想要一台国外的服务器用作某些用途,恰好自己学校又提供了教育邮箱。于是就打算拿Github的教育礼包中DigitalOcean的50美元优惠码来使用一年。
不过根据网上的一些文章,途中也遇到了一些坑。
最后也顺利地在2018/6/11一天内搞定了。所以打算记录一下自己的全过程,以供大家参考。
本文选择的是阿里云+CentOS。
首先使用以下命令来分别检查 java 和 jdk 的安装状况。
1 | java -version |
如果没有安装的话,可以用yum方式安装:1
yum -y install java-1.8.0-openjdk*
骑士游历
骑士游历问题是指,在国际象棋的棋盘(8行*8列)上,一个马要遍历棋盘,即走到棋盘上的每一格,并且每隔只到达一次。设码在棋盘的某一位置(x,y)上,按照“走马日”的规则,下一步有8个方向走,如图所示。若给定起始位置(x0,y0),使用站和队列探索出一条马遍历棋盘的路径。
8 1 7 2 马 6 3 5 4
走迷宫。
一个迷宫如图所示,他有一个入口和一个出口,其中白色单元表示通路,黑色单元表示不通路。试寻找一条从入口到出口的路径,每一部只能从一个白色单元走到相邻的白色单元,直至出口。分别用栈和队列求解问题。