摘要: 最近总是对View的绘制流程感到迷惑,也没弄清楚onLayout()和onMeasure()方法的执行顺序,除了打Log观察之外,还仔细阅读了Android SDK中关于View绘制流程的说明以加深理解,所以特翻译如下: 当Activity获取焦点时,其布局将会被绘制。Android框架将会处理这一绘制过程,Activity所做的事情就是提供其布局的根节点(译注:布局文件中自动生成的父布局,带有xmlns:android="http://schemas.android.com/apk/res/android")。 绘制开始于布局的根节点,根节点将被用来测量并组织布局树。绘制 阅读全文
posted @ 2013-04-22 16:38 热气球 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 最近被一个页面弄得很蛋疼,这个页面比较小,需要显示较长的文案时无法显示完全,于是很自然地想到了TextView中的marquee —— 跑马灯效果,可是Android执行跑马灯效果需要控件获取焦点,当某一控件requestFocus()时,会将其他控件的焦点抢去,这就导致了同一时间只能有一个控件获取焦点。那么,如果让多个控件同时获取并持有焦点呢?或者说,“欺骗”Android系统,让它以为多个控件都持有焦点,即每个控件都在焦点状态。 通过上述分析,问题转化为如何让多个控件同时处于焦点状态,这就需要重写TextView的部分方法,达到“欺骗”Android系统的目的,这样每个控件reque... 阅读全文
posted @ 2013-04-19 20:16 热气球 阅读(2445) 评论(0) 推荐(0) 编辑
摘要: 上一篇《Android实现带Tab页引导的ViewPager》实现的自定义控件是仅在横屏或者竖屏下能正常使用的,详见:http://www.cnblogs.com/zealotrouge/archive/2013/04/09/3009927.html。 那么在发生横竖转屏时,上述控件存在的最大问题就是:动画已绘制完的”下划线影像“无法与转屏后的tab页对齐,只有点击tab页或者滑动viewpager之后才会重新执行动画,将之前的动画消除。原因有二,其一,动画绘制”下划线影像“无法改变长度,其二,下划线视图本身一直在最左边,与”下划线影像“的距离仍然保持之前动画的位移,故无法立即将下划线与... 阅读全文
posted @ 2013-04-17 20:08 热气球 阅读(1388) 评论(0) 推荐(0) 编辑
摘要: Tab页很适合用来做平行功能之间的引导,而各功能页面用ViewPager来展示会显得比较平滑、过渡自然,所以自然就有了许多软件将二者结合,用于展示主功能界面,比如网易新闻和360优化大师的主界面,那么下面就来做一个这样的带Tab页的ViewPager吧~ 基本需求:1,点击Tab页,ViewPager做出相应滑动,且Tab页中有表示切换的动画 2,滑动ViewPager,Tab页中有表示切换的动画 3,Tab页可以动态添加并自行计算所占宽度 基本思路是:用一个横向LinearLayout管理动态加载的Tab页,下方是ViewPager,再用代码将二者关联起来就... 阅读全文
posted @ 2013-04-09 20:12 热气球 阅读(10662) 评论(4) 推荐(2) 编辑
摘要: 最近测试给我们反馈了一个bug,说是程序运行天数计算错误,应该按照自然天数计算,之前的实现很简单,如下://程序启动时long start = System.currentTimeMillis();...//需要计算运行天数时,计算差值long end = System.currentTimeMillis();long days = (end - start) / (1000 * 60 * 60 * 24);return days; 测试提出问题后,我们也觉得计算方式不对,打算修改算法以计算自然天数,网上随便一搜,都是上面的方法,还是老老实实自己写吧,如下:/** * 计算规则———... 阅读全文
posted @ 2012-11-30 17:08 热气球 阅读(5045) 评论(2) 推荐(1) 编辑
摘要: 一、引言 Android的开源使厂商无需自行研发OS,大大降低了研发、生产的成本,使得Android平板品牌如雨后春笋般爆发,山寨机厂商们似乎又找到了一丝希望。与此同时带来的是广大开发者的苦不堪言,各种神奇的小板儿考验着app的兼容性,各种定制的rom不经意间就让app崩溃,光是界面上的调整就已经够你喝一壶了,是不?二、适配可行性 早在Android设计之初就考虑到了这一点,为了让app适应标准or山寨屏幕,google已经有一套成熟的解决方案。其中,有这么几个指标需要注意: (1)屏幕尺寸:单位inch,指的是屏幕对角线长度。 (2)屏幕密度:单位dpi,指的是每inch上可以显示多... 阅读全文
posted @ 2012-11-23 18:04 热气球 阅读(52518) 评论(9) 推荐(3) 编辑