android开发(2):多页面的实现 | Fragment的创
2019-01-28 本文已影响45人
广州小程
APP中出现多个页面再常见不过了。使用activity与fragment都能实现多页面,这里使用fragment来实现。延续“知音”这个APP的开发,之前已经创建了底部导航条与mainactivity。
首先创建一个fragment,作为“广场”页面。在菜单中new一个fragment出来即可,如下面的截图:
![](https://img.haomeiwen.com/i15769694/e29585f498116775.jpg)
![](https://img.haomeiwen.com/i15769694/f2d0d25a51a113a2.jpg)
此时会自动生成这个fragment的xml跟类,xml用于界面设计,而fragment类用于界面管理,并被activity类使用,请看截图:
![](https://img.haomeiwen.com/i15769694/547925c400b968fe.jpg)
![](https://img.haomeiwen.com/i15769694/397920243846a819.jpg)
注意,Fragment有两个基类,一个是android.app.Fragment,一个是android.support.v4.app.Fragment,这里使用的是后者,之后在activity中使用fragment时,也要使用后者。
给这个fragment增加一个简单的创建的方法(这个方法之后给activity使用),如图:
![](https://img.haomeiwen.com/i15769694/42a3abf03755be3d.jpg)
至此,fragment准备就绪,然后,就是activity来使用它。
先在main_activity的布局中,添加上这个fragment的布局(如果没有这一步,会导致运行时崩溃,提示No view found for...),如截图:
![](https://img.haomeiwen.com/i15769694/287ff3e8e88d8c27.jpg)
然后就是写代码使用这个fragment了,这里贴上MainActivity.java的完整代码:
![](https://img.haomeiwen.com/i15769694/68b1d89b5e9e67b5.jpg)
![](https://img.haomeiwen.com/i15769694/4dfec0c25d4a086e.jpg)
这里用FragmentManager来管理fragment,特别是多个fragment的时候。
运行一下,当点击第一个tab时,可以看到这个fragment显示出来(切到其它tab时,这个fragment会隐藏):
![](https://img.haomeiwen.com/i15769694/cc4bc7db5afd8af2.png)
以上是一个fragment的创建与使用的过程,如果要有多个页面,那自然创建多个fragment并控制,重复以上流程就可以了,是不是很简单?