DialogFragment fill screen width

前一阵子做一个demo,想从底部弹出一个类似于dialog的布局,但是发现无论怎么发现两边都有一定留白(在android 8.1系统)搜索了一些资料,填埋了这个坑。

setStyle(DialogFragment.STYLE_NO_TITLE, R.style.Theme_Dialog)
val window = dialog.window
window.setGravity(Gravity.BOTTOM) //可设置dialog的位置
window.decorView.setPadding(0, 0, 0, 0)
window.setBackgroundDrawable(ColorDrawable(Color.WHITE));//这句话还不能少 日了狗
val lp = window.attributes
lp.width = WindowManager.LayoutParams.MATCH_PARENT //设置宽度充满屏幕
lp.height = WindowManager.LayoutParams.WRAP_CONTENT
window.attributes = lp
window.attributes.windowAnimations = R.style.DialogAnimation

关于时间

看完了三体,没有太多感触,只是最近在脑海里一直在想时间到底是什么。时间轴的交叉平面会是什么?我们是沿着时间轴爬行的蚂蚁吗?

前几天姐给我信息说妈病了,我才想起好长好长一段时间没有给家里电话了,新工作忙是方面,更多的是在逃避,可是这就是现实,时间终究会带走我们的父母,我们身边的亲人,朋友,还有自己。

来深圳已经四年了,没有恋人,没有存款,年近三十而不立,然父母垂垂老矣,时间啊,请慢点走。

 

迁移Blog成功

这个月底关闭 digitalociean 的服务,转免费一年的google云,速度果然还是快很多哈。

网站被墙了

从开始的访问越来越慢,到现在终于不能访问了,月底终止这个站点的访问,准备开始迁移到google云。(免费用一年)

2018,狗年大发

今天是大年初一,去年是在惠州过的,今年回老家过年。今年老家不让放烟花了,清洁也清净了不少。

17年简单回顾

做了Android项目小组长 设计框架 做钱包app, 组织架构调整,leader也离职了, 由于家庭原因,在六月我也离职 ,之后又去旅行 在中国大西北环游了一圈 ,见到了从来没有见过的沙漠,去到了世界屋脊,思考了一路,回到深圳 学习英语 考pte ,找工作, 做一些后台相关的尝试 ,无果 又重新回到Android ,差一点进了阿里,伤心,重新审视自己。找房 租房。

18年要做的事情

  1. 英语,达到阅读沟通无障碍 雅思4个6水平
  2. 至少出国旅行一次
  3. 存钱装修+留学资金(20w)。
  4. 获得WHV名额
  5. 看完《失控》《奇点临近》《时间简史》

求职者,招聘者

年前把工作定下来,虽然有些小插曲,但是看淡就好。 但也收获了不少,主要是结合自己之前面试别人,这次从求职者的角度重新审视了整个过程,发现之前存在的一些问题。

招聘者

见过一系列招聘者,有各种类型的,有外包公司,小型创业公司,中型公司,大型公司,都有接触过,各有各的pros and cons
继续阅读“求职者,招聘者”

volatile 是个嘛?

Q:你学的是java?
A:是的。大学学过。
Q: 那你说说java的关键字volatile
A: (心想:双重锁,单例模式,volatile。。。)volatile是用来防止指令重排和保证内存可见。
Q: 它的原理呢?
A:(TMD原理,肯定就是和虚拟机有关啦NND)只知道用,没有研究过这个。
Q:好吧,你还有什么要问的嘛?
A:你们这个岗位期待招聘什么样的人?
Q:嗯,高级一点的吧。
A:哦。没有了。
Q:那 回去等消息吧。

还原一下最近的一番对话,不过我实在是没记得当初java课上有讲过这个,知道指令重排和内存可见还是从某篇博客上看到的,也没有想过原理和为什么要这么做。那今天抽空理一理这个。现在想想应该是想通过其了解jvm相关的东西吧。
继续阅读“volatile 是个嘛?”

Android 中的内存泄漏

JVM垃圾回收机制 会对没有引用的对象进行回收,而持有引用的对象是不能被回收的。

匿名内部类包含如下特征
1. new 操作符
2. 实现一个接口,或者继承自一个类
3. 有构造函数的调用,接口因为没有构造函数,默认是无参构造函数。
4. 拥有body,就像类定义一样,body内可以声明方法,但是 不能拓展构造函数。

匿名内部内可以直接访问本地类的成员变量。可访问 方法内通过final 修饰的本地变量。
因此常见的泄漏就是匿名内部类存在对act的引用。

  private Object obj=new Object(){
        @Override
        public String toString() {
            return super.toString()+"bbb";
        }
    };
继续阅读“Android 中的内存泄漏”

SQL 语句查询你爸爸的爸爸是谁?

最近遇到一个问题,有一张表是这样的数据结构,存着你家家谱,所以是自关联的表。假如你要查询你爸爸的爸爸那条记录,该怎么查询? 或者需要看祖宗十八代如何展示?

递归是一个很好的解决方法。递归代码如下

WITH RECURSIVE
qry AS (SELECT * FROM Family WHERE nickname ='You'  UNION ALL SELECT bb.* FROM Family bb INNER JOIN qry on bb.id == qry.parent)
SELECT * FROM qry LIMIT 3, 1;

其中offset 3 是要查询的代数 1 就是你父亲,2 就是你爷爷。。。。

输出:

id  nickname parent
0   YYDBB     0

家常菜谱 番茄土豆

原料:
1. 大蒜头,拍开,切碎,细葱
2. 土豆一个,番茄一个。
3. 土豆切条,放冷水中浸泡,番茄用开水烫一下,去皮切碎
4. 锅子热油,大蒜头,细葱白下锅爆香。
5. 下土豆条,炒一会,放入锅中,一起翻炒。加入适量水
6. 放入白糖,盐,酱油,水快干的时候加点水,一直炒。
7. 出锅。