目前在自己的个人项目里,已经开始使用Swift去编写代码.这篇文章把项目中自己设计的一个ActivityIndicator View展示给大家. 在开始之前,我们先看看最终的效果,如下图: 我建议大家下载本文对应在Github分享的完整项目,以便跟着本篇文章来阅读代码. 需求分析 我们需要实现一个自定义的和 UIActivityIndicatorView 提供相似功能的一个Loading效果.我们将使用 Core Graphics 来绘制这样的效果,并让它动起来. 让我们先分析一下这个控件的组成…
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute…
Android中,你的应用程序程序与View类组件有着一种固定的联系,例如按钮(Button). 文本框(TextView), 可编辑文本框(EditText), 列表框(ListView), 复选框(CheckBox), 单选框(RadioButton), 滚动条(Gallery), 微调器(Spinner), 等等,还有一些比较先进的有着特殊用途的View组件,例如 AutoCompleteTextView, ImageSwitcher和 TextSwitcher.除此之外,种类繁多的像 线…
常用集合类及构建自定义集合 1.更多集合接口:IList<T>.IDictionary<TKey,TValue>.IComparable<T>.ICollection<T> 2.主要集合类:List<T>.IDictionary<TKey,TValue>.SortedDictionary<TKey,TValue>和SortedList<T>        Stack<T>.Queue<T>…
一.原理 转自:http://www.2cto.com/kf/201401/275838.html Android动画学习Demo(3) 沿着贝塞尔曲线移动的Property Animation Property Animation中最重要,最基础的一个类就是ValueAnimator了.Property Animation利用ValueAnimator来跟踪记录对象属性已经变化了多长时间及当前这个时间点的值. 而在ValueAnimator中,又封装了两个类: 1)TimeInterpolat…
docker 优势 (外部参考) Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后 发布到任何流行的Linux机器上,便可以实现虚拟化.Docker改变了虚拟化的方 式,使开发者可以直接将自己的成果放入Docker中进行管理.方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成. 安装docker(请参考外部链接) [Ubuntu Docker 安装](http://www.runoob.com/dock…
docker构建自定义镜像 要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像 第一步:准备java web工程的war包文件(这里假设是demo.war) 第二步:在war包当前目录下创建Dockerfile文件并编写 from tomcat MAINTAINER yourname youremail COPY demo.war /usr/local/tomcat/webapps 由于java web项目依赖tomcat,所以得先…
遇到的最大的问题是监听不到用户清除通知栏的广播.所以是不能监听到的. 自定义通知栏的View,然后service运行时更改notification的信息. /** * Show a notification while this service is running. * 在service运行时,显示通知信息 */ public void showNotification() { NotificationManager mNM = (NotificationManager)getSystemSe…
rpmbuild时不要以root用户执行! 方法一: 1.首先安装rpmbuild #yum install rpm-build gcc gcc-c++ cmake bison ncurses-devel zlib glibc  libaio-devel  gperf  -y 2.下载官方源码包(tar.gz格式),并解压 #wget  http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz #tar -xvf mysql…
构建自定义同步工具 一.通过轮询与休眠的方式实现简单的有界缓存 public void put(V v) throws InterruptedException { while (true) { //轮询 synchronized (this) { //加锁等待 if (!isFull()) { //如果缓存没满 则执行插入 doPut(v); return; } } Thread.sleep(SLEEP_GRANULARITY); //如果缓存满了 线程等待一段时间后继续轮询 } } publ…