使用css3实现阴影
以前界面中的阴影,需要依赖作图工具生成带阴影的底图。使用css3可以很好的解决这个问题。
比如,这是个简单的代码:
<body>
<div id=‘content’></div>
</body>
如果没有使用css3阴影,比如css如下:
#content{
height: 200px;
width: 400px;
margin: 10px auto;
background: rgba(88,88,88,0.5);
}
那么效果类似这样:

以前界面中的阴影,需要依赖作图工具生成带阴影的底图。使用css3可以很好的解决这个问题。
比如,这是个简单的代码:
<body>
<div id=‘content’></div>
</body>
如果没有使用css3阴影,比如css如下:
#content{
height: 200px;
width: 400px;
margin: 10px auto;
background: rgba(88,88,88,0.5);
}
那么效果类似这样:

在编写可复用的自定义按钮中,通过增加背景图的方式编写了按钮。这种方式一般应用于按钮是很特殊的图形的时候。
如果仅仅是编写可复用的自定义按钮中的按钮,可以看出,有边界、背景有渐进色,那么可以通过声明的方式获得更好的可配置特性。
这是生成的按钮:

这是按下后的按钮:

Android的布局,要比iOS复杂的多。如果想写出和iOS类似的交互体验,付出的代价往往要增加一个数量级。
现在有个正在开发的Android项目,里面已经有了一些不合理的UI实现方式。比如按钮是一张图:
可以看出,应该用编程的方式来实现这个按钮,比如xml声明drawable,一个矩形框,四个边是圆角,要有个很细的边框,黑色的,背景色使用渐进色效果。登录使用文字而不是在图形里。
这样的好处很多:
家里的home server,使用mldonkey下载资源(见这里),有视频和电子书等,需要编写个脚本,将不同后缀的文件移动到指定的目录下。
这里使用python,写了个简单的脚本:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import osscan_path=”/Users/marshal”
book_path=”/Users/marshal/books”def file_action(file):
if(file.endswith(“.pdf”) or file.endswith(“.epub”)):
os.rename(scan_path+’/'+file, book_path+’/'+file)
print ‘移动文件:’,fileprint “开始文件整理,目录:”,scan_path,” …”
if(os.path.exists(book_path) is False):
os.mkdir(book_path)#print os.getcwd()
files=os.listdir(scan_path)
for file in os.listdir(scan_path):
file_action(file)print “整理完毕。”
现在,越来越多的iOS项目需要用到Web开发技术,尤其是HTML5方面的。
如果是开发标准界面的Web开发,可以使用Dashcode,我打算另写一篇文章介绍。这里的开发环境,是针对自定义界面的,从应用范围来看,也更广泛一些。
开发环境
首先是开发环境,因为比较熟悉Eclipse,使用的是Eclipse插件WTP来开发Html、Css和Javascript。我直接安装的是SpringSource Tool Suite(是Spring定制的Eclipse版本,带wtp插件),因为后续还要使用Grails开发服务器端的动态内容。
虽然我使用Mac系统,但是一直要通过虚拟机使用Windows。因为曾经有两个工具在Mac环境下无法被替代。
第一个是QQ,Mac系统也有QQ,但是功能少,时常掉线。这个情况已经是历史了,现在Mac系统下的QQ也很好用了,甚至支持传输文件夹了。
还有一个,是目前唯一需要我启动虚拟机的应用,Windows Live Writer。可以参见我以前有关WLW的文章列表。虽然Wordpress自带Web界面的文章编辑器,但是除非只写文字,如果需要文章中带图片,操作就很繁琐。WLW可以直接将系统剪切板中的图片复制到文章中去,这是个难以割舍的特性。
今天使用了ScribeFire,发现它支持将图片直接复制到文章中。这太好了,也许它可让我摆脱对Windows Live Writer的依赖?
上面的图就是直接截取复制的。缺点嘛,就是没有WLW的默认图片特效,比如阴影效果。不过,我觉得如果只差这个的话,我是可以接收的。 Read more »
Git没有SVN的export功能。
比如你想导出一个干净的项目文档,不包括版本控制文件,使用SVN很简单:
svn export url
Git提供了archive命令,可以把版本的文件流导出,但是目前无法直接导出到某个目录下,至少我没有找到这样的功能。
可以类似这样做:
git archive v0.1 | gzip > site.tgz
这是把标签为v0.1的项目文档重定向给gzip生成一个gz文件。
看起来不错,不过如果这样频繁向其他人传递文件,可能造成混淆。可以考虑把Git的特征值加到文件名中,比如这样:
git archive –format zip -o site-$(git log –pretty=format:”%h” -1).zip HEAD
这样生成的文件名类似这样:
site-87424a7.zip
上文创建Chrome Web app编写了一个hosted app。如果在开发中测试,hosted app就很不方便,需要编写代码部署到服务器端才能测试和调试。
因此,本文尝试编写Packaged app,这样可以很容易的在本地调试和测试,直到需要和服务器端交互的时候再修改为hosted app。
编写了一个最简单的应用,安装后类似这样:
点击该应用的效果:
可以看到,地址栏是空的。
编写了一个Chrome下使用的Web app。效果如下:
点击这个应用,就可访问我的博客。
看起来这很类似一个书签。其实有它特殊的好处,直接访问网站,程序无法自动获取HTML5的权限,比如存储限制。安装应用,相当于安装了一个配置文件,浏览器将打开必要的权限。
如果你也使用Chrome,可以通过这里下载安装。
开发这样的应用并不难,过程类似以前开发Chrome扩展(编写最简单的chrome扩展)。
rcs是一个古老的本地版本控制软件,最早的版本发表于1982年,用于Unix和后来的Linux,距今差不多30年了,而且在44天前还发布了5.8版本。可通过维基百科链接做下了解。点击这里进入rcs的官方网址。
如果你使用Mac并且安装了Xcode,那么已经安装了该工具。可以输入rcs这个命令验证这点。Linux的发行版本Ubuntu已经不再默认包含这个工具,可这样安装:
sudo apt-get install rcs
体验这个工具,是想了解版本控制工具的发展历史,体会发展趋势。
rcs是针对本地文件管理的,也就是说需要不连接服务器端。以下参照这篇文章和man命令简要说明该工具的使用。