[安卓]防止Activity在横竖屏切换时重新创建

杰拉斯 杰拉斯 | 时间:2015-01-07, Wed | 11,710 views
前端开发 

这两天在写一个安卓应用内嵌 WebView 的小 Demo,其中需要支持 HTML5 视频的全屏播放,结果就卡在了横屏切换上,在切换到横屏时正在播放的视频就消失了,但声音还在,排查了许久发现是横屏时 Activity 会被重新创建,百度给的答案是在 AndroidManifest.xml 中对应的 activity 标签中增加属性:

android:configChanges="orientation"

折腾许久无果,只好祭出大招,在 StackOverflow 中查找结果,发现在安卓3.2版本后需要再增加一个属性:

android:configChanges="keyboardHidden|orientation|screenSize"

国内的技术信息还是比较滞后,有时候寻求答案没有结果时,应该去外国网站试试。同时也把解决方案撰写博文一篇,用以造福人类。

nginx 中 location 的匹配规则

杰拉斯 杰拉斯 | 时间:2014-12-24, Wed | 16,070 views
后台技术 

location 匹配规则

=     # 普通字符精确匹配
^~    # 普通字符路径前缀匹配
~     # 区分大小写的正则匹配
~*    # 不区分大小写的正则匹配

location 匹配优先级

官方文档:

  1. Directives with the = prefix that match the query exactly. If found, searching stops.
  2. All remaining directives with conventional strings, longest match first. If this match used the ^~ prefix, searching stops.
  3. Regular expressions, in order of definition in the configuration file.
  4. If #3 yielded a match, that result is used. Else the match from #2 is used.

中文翻译:

  1. 精确查找 = 前缀的匹配。如果找到,停止搜索。
  2. 其它的普通字符串匹配,按照表达式长度优先查找。如果这个匹配使用 ^〜 前缀,搜索停止。
  3. 正则表达式匹配的优先级,则根据在配置文件中定义的顺序来确定。
  4. 如果第 3 条规则产生匹配的话,使用该匹配结果。否则,如同使用第 2 条规则的匹配结果。

[HTML5]如何在 Canvas 中绘制扇形

杰拉斯 杰拉斯 | 时间:2014-12-02, Tue | 40,375 views
前端开发 

在 HTML5 Canvas 中,我们可以通过 arc 方法来绘制圆形:

// context.arc(x, y, r, sAngle, eAngle, counterclockwise);
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.arc(100, 100, 50, 0, 2 * Math.PI);
ctx.fill();

但如何绘制一个扇形呢?是不是简单地修改结束角度 2 * Math.PI 就可以了呢?

(阅读全文…)

[转载]闲聊CSS之关于clearfix--清除浮动

杰拉斯 杰拉斯 | 时间:2014-06-03, Tue | 9,112 views
前端开发 

一,什么是.clearfix

你只要到Google或者Baidu随便一搜"css清除浮动",就会发现很多网站都讲到"盒子清除内部浮动时可以用到.clearfix"。

.clearfix:after {
    content: " ";
    display: block;
    clear: both;
    height: 0;
}
.clearfix {
    zoom: 1;
}

<div class="clearfix">
    <div class="floated"></div>
</div>

上面的代码就是.clearfix的定义和应用,简单的说下.clearfix的原理:

1、在IE6, 7下zoom: 1会触发hasLayout,从而使元素闭合内部的浮动。

2、在标准浏览器下,.clearfix:after这个伪类会在应用到.clearfix的元素后面插入一个clear: both的块级元素,从而达到清除浮动的作用。

<div>
    <div class="floated"></div>
</div>
<div style="clear: both"></div>

(阅读全文…)