摘要: 转载请注明出处:http://www.cnblogs.com/kross/p/3458068.html最近在做一些UI,很蠢很蠢的重复写了很多代码,比如一个自定义的UI Tab,由一个ImageView和一个TextView构成,如果不自定义属性的话,就需要单独new出几个Tab,然后分别给它们设置Drawable和Text。如果能使用XML属性的话,就直接在XML文件中就可以给Tab设置好Drawable和Text。Java中就可以少些几行代码。网上看了好多例子,大部分内容都是大同小异,(可能是因为各种转载的原因吧)。有很多细节都没有提及到。自己也是琢磨了半天才弄通。自定义XML属性,就是可 阅读全文
posted @ 2013-12-04 17:42 krosshuang 阅读(9396) 评论(3) 推荐(0) 编辑
摘要: 官方文档地址:http://developer.android.com/guide/topics/ui/declaring-layout.htmlPS:API Guides里面的内容不免都简单些,翻译还是很渣,明明知道意思,但按着它的原话翻感觉就是很怪……一个布局为用户接口定义了视觉上的结构,像activity或app widget的UI界面。你可以使用两种方式来声明布局:在XML中定义UI元素。Android提供了一个直截了当的XML词汇表,与那些小控件,布局的视图类以及它们的子类关联。在运行时实例化布局元素。你的应用可以通过编程的方式创建View和ViewGroup对象(并且操纵它们的属性 阅读全文
posted @ 2013-11-27 17:18 krosshuang 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 最近一直想做下拉刷新的效果,琢磨了好久,才走到通过onTouch方法把整个视图往下拉的步骤,接下来就是能拉下来,松开手要能滑回去啊。网上看了好久,没有找到详细的下拉刷新的例子,只有自己慢慢琢磨了。昨天和今天,研究了两天,下拉之后回滚回去的效果终于今天做出来了!开心。现在来分享下我的实现方法和一些心得体会吧。我看了网上一个大神的例子,发现是在onTouch里面使用View的scrollTo(int, int)方法,来使整个视图往下滚动的,我尝试了使用setTranslationY()来对视图进行回滚,第一次是没问题的,但多滚动几次之后,整个视图实际上已经到了非常“高”的地方了,要拉很长的距离才能 阅读全文
posted @ 2013-11-20 20:16 krosshuang 阅读(1735) 评论(2) 推荐(1) 编辑
摘要: 官方文档原文地址:http://developer.android.com/guide/components/bound-services.html一个Bound Service是一个客户端-服务器接口的服务。一个Bound Service允许组件(像activity)绑定一个service,发送请求,接受结果,甚至进行进程间通信。一个Bound Service通常只在他向其它组件提供服务的时候运行,不会无法确定的运行在后台的。这篇文档将展示你如何去创建一个Bound service,包括如何绑定一个bound service到其它的应用程序组件上。然而,你也应该关注Service的文档来获取 阅读全文
posted @ 2013-11-14 19:36 krosshuang 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 官方文档原文地址:http://developer.android.com/guide/components/services.htmlService是应用程序组件之一,它并不提供一个用户界面,可以负责一些在后台运行时间较长的操作。其它的应用程序组件可以启动它,就算用户切换到其它的应用上面,Service还将继续在后台运行着。另外,一个组件可以绑定一个Service并与之交互,甚至可以进行进程间通信。打个比方,service可以处理网络传输,播放音乐,执行文件IO,或者与Content Provider进行交互,这些都可以在后台进行。一个Service从本质上来说有两种形式:Started . 阅读全文
posted @ 2013-11-11 20:52 krosshuang 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 翻译的好辛苦,有些地方也不太理解什么意思,如果有误,还请大神指正。官方文档地址:http://developer.android.com/guide/topics/ui/notifiers/notifications.htmlnotification可以作为一条信息被显示在你的应用程序的正常UI之外。当你告诉系统去发布一条notification,它首先会在notification area(通知区域)显示一个小图标。想要去查看notification的详细内容,用户必须打开notification drawer(通知抽屉)。notification area和notification dra 阅读全文
posted @ 2013-11-04 16:34 krosshuang 阅读(2870) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/kross/p/3378395.html今天断断续续的折腾了一下午到现在20:38,终于有点明白了。o(╯□╰)o在Android开发中,我们往往对系统提供的控件并不是很满意,比如现在市面上很多应用的Tab都是一张图加上文本控件的形式。加入我们的页面上有5个tab,那么就有五个ImageView和五个TextView,看上去就有点恶心,从软件工程的重用性上来说也是不符合要求的。前段时间,我看了一本《Android UI 基础教程》by:Jason Ostrander,里面提到一种标签的形式可以有效的介绍xml中的重复代码,提高复用性。但我 阅读全文
posted @ 2013-10-19 21:43 krosshuang 阅读(2963) 评论(3) 推荐(1) 编辑
摘要: 原文地址:http://www.cnblogs.com/kross/p/3376451.html最近自学了下动画的相关知识,总结为今天的文章,希望对大家有帮助。Android中的动画大致分为三种:逐帧动画,视图动画,属性动画。1.逐帧动画这个动画效果是最简单的,也是非常容易实现的,原理就是,在一个ImageView上不断的切换显示的图片(当然也不一定是图片),来达到动画的效果,很明显,这样的实现方式和动漫,电影的原理是一样的。实现的过程是非常简单的,大致上是:准备每一帧的图像(可以是图片,也可以是通过xml定义的图形)。给ImageView设置drawable,设置动画属性即可。现在就来着手实 阅读全文
posted @ 2013-10-18 21:40 krosshuang 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/kross/p/3372987.html我们实现一个上面是一个可以左右滑动的页面,下面是三个可点击切换的tab按钮,tab按钮上还有一个激活条。效果如下图所示:----------------我是分割线----------------------------------------------我是分割线,下面的图片表示往右滑动,白条中的小机器人往右滑动---------------------------------------------------我是分割线,切换到第二个页面,tab中的第二个被激活,字呈白色------------- 阅读全文
posted @ 2013-10-16 21:53 krosshuang 阅读(3951) 评论(0) 推荐(2) 编辑
摘要: 新浪微博:http://weibo.com/u/1928100503网上看了下,发现大都是xml文件名大写而导致的id不能生成的问题,但在下的问题却不是大小写的问题,在下发现,当你的layout目录中有错误的文件,比如activity_main.xml有错误,这样的情况下,R.java文件就无法自动生成新的布局文件id。灰常的奇葩。不过还是解决了,开心! 阅读全文
posted @ 2013-10-04 15:27 krosshuang 阅读(1138) 评论(2) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/kross/p/3328389.html新浪微博:http://weibo.com/u/1928100503折腾了两天,感觉有点会用了,Fragment给我的感觉就是网页上的AJAX,个人感觉,个人感觉O(∩_∩)O。Fragment可以当成一块视图,可以动态的添加到当前的视图中,也可以进行替换,或者删除,所以才说感觉很像AJAX。我做的一个demo就是google上的那个例子,显示一个列表,然后点击,页面就变成详细页,不过我是理解后按照自己的想法去实现的。下面就说下怎么操作吧。首先,我们需要一个Activity(activity_mai 阅读全文
posted @ 2013-09-18 14:35 krosshuang 阅读(1627) 评论(2) 推荐(1) 编辑
摘要: $value = "中文中文";$res = htmlspecialchars($value);经过这个函数处理之后,$res就直接变成了空的字符串。奇葩错误啊!后来发现要这样才能成功,以前都没遇到过呢,奇怪!htmlspecialchars($value, ENT_NOQUOTES, "gb2312");这样处理就OK,不明觉厉,不明觉厉……BY THE WAY:PHP VERSION:5.3.10 阅读全文
posted @ 2013-09-09 19:14 krosshuang 阅读(791) 评论(3) 推荐(0) 编辑
摘要: 在开发微信公众平台平台的过程中,有这么几个参数总是需要传来传去,$userOpenId,$message,$time。 在整个程序的运行过程中,为了函数方便的处理,将这三个变量一直放在参数列表里。关于这点,我突然联想到在Android里面,总是有一个Context(上下文)对象传来传去的,现在我的理解是,Context里面存放了一些必要的数据,在整个程序执行的逻辑中都有可能被使用。 因此,我就思考了一下,我这个三个变量要不要包装成Context呢?性能上会不会有提升? PHP的函数参数如果是变量的话,都是直接传变量的拷贝,如果是传对象的话,是传对象的指针。也就是说,如果定义了一个St... 阅读全文
posted @ 2013-08-23 19:06 krosshuang 阅读(807) 评论(4) 推荐(1) 编辑
摘要: 查看当前系统还有哪些用户who字符计数wc -l(line) 可以统计有多少行 -w(word) 可以统计有多少个单词 -c(character) 可以统计有多少个字符切个字符ls -l | cut -c 1-10排序ls -l | sort -d 阅读全文
posted @ 2013-08-04 21:39 krosshuang 阅读(148) 评论(0) 推荐(0) 编辑
摘要: linux开机自启动想让一个程序、脚本开机自启动,可以在/etc/rc.d目录下面找到rc.local文件,编辑该文件,在尾部加上需要运行的命令即可。如:#cd /etc/rc.d#sudo vim rc.local我需要让服务器在开机时运行一个php程序(ZMQServer.php),就加上这样一句话。#前面是php的绝对路径,后面的部分是需要运行的程序的绝对路径/usr/local/bin/php /web/app/ZMQServer.php这样就ok了。linux定时启动脚本以上运行的php脚本会因为程序上的不可预知的错误而报错停止,这样客户端就无法连接到服务器了,因此需要一个定时检测该 阅读全文
posted @ 2013-08-04 13:29 krosshuang 阅读(10548) 评论(0) 推荐(0) 编辑
摘要: touch filename创建一个不存在的文件,或者修改文件的时间戳。touch log.txtwhereis name定位一个文件。whereis php.iniwhereis、locate、find的区别whereis是从环境变量中查找,快捷,但是范围有限,不全面。locate是从一个日常活动生成的数据库中查找,需要一定的权限,快捷,全面。find是通过文件系统来查找,参数多,功能强大。php -m查看php安装了哪些拓展。wget url下载url指定的文件到当前目录。wget http://test.com/test.zip安装php拓展的一般方法1.下载压缩包,可以使用wget u 阅读全文
posted @ 2013-07-31 19:14 krosshuang 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 今晚刚刚看了一点儿《大话设计模式》这本书,看到它示例的第一个程序,好像有点理解IF与SWITCH的区别了。大致的思考了总结出来。IF适用于每个条件都必须判断,就是IF语句中的判断是不同类型的,匹配的东西是非互斥的。而SWITCH中的判断是同类型的,匹配的东西是互斥的。比如判断一个对象是飞机还是坦克,还是战舰,这个对象如果是飞机就不可能是坦克,不可能是战舰,互斥的。所以这个判断用SWITCH比较妥当:Carrier c = new Carrier();switch(c.getType()) { case AIRPLANE: case TANK: case BATTLESH... 阅读全文
posted @ 2013-07-15 00:28 krosshuang 阅读(274) 评论(0) 推荐(0) 编辑
摘要: linux的目录结构根目录 /根目录下常见目录的作用root //存放root用户的相关文件home //存放普通用户文件的目录bin //存放普通命令的目录sbin //要具有一定的权限才可以使用的命令mnt //默认用来挂载软驱和光驱的目录etc //存放配置相关的文件var //存放一些经常变化的数据boot //一些引导文件usr //安装文件的默认安装目录常用命令pwd 显示当前目录useradd username 添加用户passwd username 给username用户设置密码userdel username 删除用户,只删除用户,不删除其用户... 阅读全文
posted @ 2013-07-11 14:28 krosshuang 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 命令:shutdown -h //马上关机shutdown -r //关机后重启reboot //重启vi的使用vi Hello.java //通过vi新建一个Hello.java文件i //进入编辑模式按ESC //进入命令模式:wq //保存并退出:q //直接退出:q! //强制退出 阅读全文
posted @ 2013-07-09 20:47 krosshuang 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 曾经在《Java核心技术卷II》中看到可以把对象序列化,也就是输出到一个文件上,保存对象的信息,我当时就想到,可以使用这个保存用户的一些设置信息,比如窗口的大小,位置等等一些用户习惯。加上最近看到Android的Saving Data,想试一试Android上的文件读写功能。于是,将这两个功能结合在一起写了一个保存用户设置的功能。 这次讲两个内容: 1.对象序列化。 2.Android系统中的文件读写。 先来看下对象序列化是怎么回事,Java中有一个接口叫Serializable,对象实现这个接口后,就可以进行使用ObjectOutputStream和ObjectInputStre... 阅读全文
posted @ 2013-06-01 16:42 krosshuang 阅读(919) 评论(0) 推荐(1) 编辑