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

继续昨天的讲解,昨天讲到了在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



好了,这就是今天要讲的初始化相关的内容!


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值