2016年4月18日
摘要: PopupWindow 类位于android.widget 包下,API注释为: PopupWindow 是一个浮于当前activity之上、用于显示任意 view 的容器。 使用PopupWindow 的大致步骤: 首先需要创建一个PopupWindow 对象,可以使用的构造函数有 其中,cont 阅读全文
posted @ 2016-04-18 14:13 快乐的码农 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 有时候,需要根据服务器返回的json数据动态的加载界面,如: 服务器返回的结果如: 相应的JavaBean: public class DoctTitle { public int code; public String errors; public String message; public L 阅读全文
posted @ 2016-04-18 13:54 快乐的码农 阅读(1144) 评论(0) 推荐(0) 编辑
摘要: 本篇文章是之前的两篇博文:模仿网易邮箱的滑动删除 和 Android - 下拉刷新 的总结,本篇文章在前两篇文章的基础上,对滑动删除进行了一定的优化,并且解决了下拉刷新和滑动删除的冲突,当然,这只是实际工作中写的一个demo,仅为实现主要功能。 以下是除图片资源之外的所有内容,首先是Demo结构图: 阅读全文
posted @ 2016-04-18 13:43 快乐的码农 阅读(953) 评论(0) 推荐(0) 编辑
摘要: JSON是JavaScript Object Notation的缩写,是一系列键值对的集合。 以下几张截图来源于网络: (感谢李志敏老师) 对于json类型的数据有两种较常用的场景: 1、将数据转换成json字符串 2、将json字符串解析成javaBean 其中,最常用的是JSONObject,  阅读全文
posted @ 2016-04-18 13:31 快乐的码农 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 滑动删除,一个很常见的功能,本文用几种方式模仿网易邮箱的滑动删除。 第一种、使用HorizontalScrollView 这种方式,重点有两个地方,一个是listview的item的布局,另一个是listview对应的adapter,相关代码如下(仅为实现功能): HwgtSlidingDelete 阅读全文
posted @ 2016-04-18 12:41 快乐的码农 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 在android中,下拉刷新是很常用的功能,关于它的实现原理,网上有很多文章都可以参考,不再详写,本文主要记录我在学习过程中遇到的问题及其解决方案。 主要的类就一个,即自定义的ListView,而在这个类中,比较难的是对MOVE事件的处理。如果MOVE事件处理不好的话,会出现很多影响用户体验的问题, 阅读全文
posted @ 2016-04-18 12:38 快乐的码农 阅读(254) 评论(0) 推荐(0) 编辑
摘要: android事件分发机制的学习告一段落,先写篇文章做个总结,如有新的认识,后续再进行补充。 首先从两个问题引出android 的事件分发机制: 如下图,绿色部分A代表应用的一个填充父窗体的view对象,B 是 A 的子view,C 是 B 的子view,D 又是 C 的子view。 1、如果我们点 阅读全文
posted @ 2016-04-18 12:03 快乐的码农 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 在Android - View的绘制流程一(measure)一文中提到,view绘制的核心逻辑都在ViewRoot的performTraversals()方法中,主要分为三个阶段: 第一个阶段是measure,第二个阶段是layout,第三个阶段是draw ViewRoot类的performTrav 阅读全文
posted @ 2016-04-18 11:46 快乐的码农 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 该博文所用的demo结构图: 对应的代码: MainActivity.java: public class MainActivity extends Activity { private int desiredWindowWidth; private int desiredWindowHeight; 阅读全文
posted @ 2016-04-18 11:26 快乐的码农 阅读(339) 评论(0) 推荐(0) 编辑
摘要: android 应用程序中,一般都会发生activity的跳转和返回键的点击操作,而这就会涉及到activity启动模式的问题。 1、启动一个应用,系统就会创建一个Task用来存放主activity。每个Activity都有一个taskAffinity属性,这个属性定义了用来存放它的Task,如果一 阅读全文
posted @ 2016-04-18 11:08 快乐的码农 阅读(197) 评论(0) 推荐(0) 编辑