您的位置:首页 > 移动开发 > Android开发

OSChina Android源代码剖析(6)—首页代码逻辑分析之初始化

2013-01-05 22:43 423 查看
继续昨天的讲解,昨天讲到了在Main.java中实现了一个广播接收程序,之后,是一系列的初始化操作

一、网络连接的判断



这里的appContext是一个全局的应用程序类,是Application类的子类,关于Application,官方的解释是:



再来看isNetworkConnected方法



该方法首先获得ConnectivityManager,然后获得NetworkInfo来判断网络是否可用,很简单,只是简单的API调用,关于getSystemService的深入讲解,以后会讲到

二、页面数据的初始化

判断完网络及初始化登录信息后,接下里便进入了重点:页面数据的初始化



1.初始化头部视图



该段代码主要初始化了一些头部页面的数据,并设置了某些按钮的点击事件,包括搜索(资讯页面)、发帖(问答页面)、发布动弹(动弹页面)

2.初始化底部栏



特别注意fbSetting,点击该按钮会弹出一个自定义的对话框



实现这一效果的代码如下:



mGrid是一个在定义的UI,继承于PopupWindow(关于更多PopupWindow介绍),即弹出对话框

那么,mGrid是在哪里初始化的呢?



可以看到在此初始化了,并设置了相应的监听器

接下来是initPageScroll方法,该方法用于初始化整个app的水平滚动分页,要值得注意的是



这里为什么要*2?

请看footer的布局文件内容



button与button之间隔了一个imageview,所以这里要乘2



默认显示第一页(即第一个footer的icon为选中状态,不幸可在此处改为其他数值查看)

最后是初始化页面相关内容,并在不同tab页跳转时设置底部菜单的选中状态

紧接着时初始化各个主页的按钮





初始化通知信息标签控件



初始化所有的listview



好了,这就是今天要讲的初始化相关的内容!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: