0
点赞
收藏
分享

微信扫一扫

【notepad附加功能】Android使用fragment实现滑动切换界面

河南妞 2022-02-03 阅读 48

=======================================================================

1.Fragment (碎片)是一种可以嵌入Activity中的UI片段,与Activity非常相似,不仅包含布局,同时也具有自己的生命周期。Fragment 是专门针对大屏幕移动设备而推出的,它能让程序更加合理地利用屏幕空间,因此在平板电脑上应用广泛。

2.Fragment不能独立存在,必须嵌入到Activity中使用,

因此Fragment的生命周期直接受所在的Actity影响。当Activity暂停时,它拥有的所有Fragment都暂停;当Activity销毁时,它拥有的所有Fragment都被销毁。然而,当Activity运行时(在onResume()之后,onPause()之前),却可以单独地操作每个Fragment,如添加或删除Fragment等。

二、Fragment的创建

========================================================================

Fragment的创建过程非常简单,只需在程序包名处单击鼠标右键,选择[ New ]→[ Fragment ]→[ Fragment(Blank)],进入Customize the Activity界面,在该界面指定Fragment名称,以及Fragment对应的布局名称,如下图1.1所示。

1.1在图1.1界面中有3个可选项,其中,“Create layout XML"用于设置是否在创建Fragment的同时创建对应的布局文件,“Include fragment factory methods?” 用于设置是否为Fragment创建工厂方法,“Include interface callbacks?"用于设置是否为Fragment创建回调接口,后两个选项通常不需要勾选。

在Activity中使用Fragment时,可以通过两种方式将Fragment添加到Activity中,一种是通过布局文件添加,一种是通过代码动态添加,接下来我们将使用前者。

三、代码实战

=================================================================

接下来将基于NotePad应用做功能扩展(源码地址:https://github.com/llfjfz/NotePad)

1、创建程序

在main.xml布局文件中添加ViewPager控件用于展示Fragment,需要注意的是,项目中要使用android.support.v4.view.ViewPager包中的ViewPager控件,因此需要在标签中写出ViewPager的完整路径,具体代码如下所示。

<android.support.v4.view.ViewPager

android:id="@+id/viewpager"

android:orientation=“vertical”

android:layout_height=“match_parent”

android:layout_width=“match_parent”>

</android.support.v4.view.ViewPager>

2、创建三个Fragment

由于本案例需要实现在一个Activity中可以滑动切换3个Fragment界面的功能,因此需要创建3个Fragment。 默认创建3个Fragment, 分别命名为“Fragment1” “Fragment2”和“Fragment3",对应的布局文件分别命名为“fragment1"“fragment2"和"fragment3”。

需要注意的是,Fragment创建时默认导入的包为android.support.app.Fragment, 需要将其删除并修改为android.support.v4.app.Fragment。1.3
图为在activity里import的Fragment包。

3、编写界面交互代码

接下来在工程中的NotesList中编写交互代码,通过ViewPager加载Fragment,并且实现滑动切换Fragment的效果,具体代码如下所示。

1.4

1.5

public class FragAdapter extends FragmentPagerAdapter{

public FragAdapter(FragmentManager fm,List fragments){

super(fm);

fragmentsList = fragments;

}

最后

现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水!

Android架构师之路很漫长,一起共勉吧!

举报

相关推荐

0 条评论