![Android项目实战:手机安全卫士](https://wfqqreader-1252317822.image.myqcloud.com/cover/676/31728676/b_31728676.jpg)
1.3 主界面
当打开一个应用时,首先会显示欢迎界面,然后跳转到程序主界面。主界面的作用就是展示当前应用的基本功能以及界面风格。本小节将针对程序主界面的开发进行详细讲解。
1.3.1 主界面UI
从功能展示界面可以看出,主界面分为上下两部分:上部分放置一个安仔图标以及一行文字;下部分用GridView(九宫格的形式)放置9个功能图标及功能文字。主界面的图形化界面如图1-17所示。
图1-17所示主界面对应的布局文件如【文件1-7】所示。
【文件1-7】activity_home.xml
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00032003.jpg?sign=1739479387-CPbnYVtjaD12QhhNyiIwPkTGsuMftZxA-0-6bfc0780b92a1e58ff4ef7be3a463536)
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00032004.jpg?sign=1739479387-jzMn1hB5Qi06oE6sYA3zH1Z3r6eZXDL9-0-8ece4da01ab8d613d62b1aaa21b2a627)
图1-17 主界面
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00033001.jpg?sign=1739479387-q9oPmR3wYoXQfx2LPrbU5jhVQyBW4TxV-0-84b4ae0a45fc38ce32500131375742d3)
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00034001.jpg?sign=1739479387-cwB7na1tThcw7J7l4ZLUByktTOq6jrZe-0-531d5d5ca94004faf245ac20487b5556)
在上述布局文件中,使用了一个GridView控件,该控件是一个二维的ViewGroup,通过它可以在界面中展示九宫格效果。
1.3.2 主界面Item布局
由于主界面的GridView有9个Item,每个Item的格式都是一样的,都由一张图片和一个标题组成,因此可以创建一个Item布局为GridView设置每个条目数据,Item布局的图形化界面如图1-18所示。
图1-18中Item所对应的布局文件如【文件1-8】所示。
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00034002.jpg?sign=1739479387-d53PicoS5n9HmgNmDqPM0dwpFTRN2wXX-0-7175b82d483da6bc2df6b402aec4ff52)
图1-18 Item布局
【文件1-8】item_home.xml
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00034003.jpg?sign=1739479387-hXzfwYGsNht59usLey8jbnXxULoP17nU-0-c5dafda62728c74d38563dd6700329ff)
1.3.3 数据适配器
主界面的Item布局创建好之后,要想将这个Item中的功能图标以及文字填充到主界面中,还需要创建一个布局填充器HomeAdapter,具体代码如【文件1-9】所示。
【文件1-9】HomeAdapter.java
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00035001.jpg?sign=1739479387-6GA6I2dFBGWJgHiqUNJBqmqRwvtl1BNW-0-c827b0cc1b1df89149c9c1a5bdfba501)
1.3.4 主界面逻辑
主界面中的Item布局以及HomeAdapter都已实现,接下来编写对应的HomeActivity。该程序用于加载主界面布局,并将功能图标及文字展示到主界面中,同时将跳转页面的点击事件实现。具体代码如【文件1-10】所示。
【文件1-10】HomeActivty.java
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00036001.jpg?sign=1739479387-NEPow9uLbiBT47EJBZT1EcdZEXTcvqpr-0-1686862f48c0d5ba5df63f93f6c4444f)
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00037001.jpg?sign=1739479387-dkiOtSFY7O8k7bfdFKYvRo0U7nXX7n5x-0-a7805b391a2083e444c722594a2f7ad1)
![](https://epubservercos.yuewen.com/42DD75/17180239704450606/epubprivate/OEBPS/Images/img00038001.jpg?sign=1739479387-y4P1n3UoF4XK65hmvRNsKz8iKYJJToiV-0-abc041eceba6d0777e60ef2c7cc868df)
代码说明:
●第11~12行代码获取GridView控件,并为该控件设置Adapter填充数据。
●第14~55行代码为GridView控件注册条目点击的监听事件,当点击每个条目时,相应的模块会响应点击事件。暂不使用的功能可以将其注释,这里只是为了方便大家观察代码。
●第61~64行的startActivity()方法用于开启新的Activity,在点击每个功能图标进行界面跳转时调用。将这段代码单独作为一个方法,可以大大简化代码量,在页面跳转时直接传入相应的Activity即可。
●第69~80行的onKeyDown()方法用于实现按两次返回键退出程序,在Android应用中经常要判断用户对返回键的操作,一般为了防止误操作,都是在用户连续按两次返回键时才退出程序。通常情况下,实现该功能时先记录上次点击的时间,然后与本次点击的时间进行比较,当两次时间间隔小于某个值时,退出程序,否则提示“再按一次退出程序”,同时更新上次点击时间。
注意:在Android系统中,四大组件在使用时都需要在清单文件中进行注册,考虑到代码量的问题,在后面开发中关于Activity注册的代码将被省略,大家在编程时自行添加即可。