博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Android必备】创建一个Fragment(8)
阅读量:6072 次
发布时间:2019-06-20

本文共 2182 字,大约阅读时间需要 7 分钟。

概要


您可以将片段看作活动的模块化部分,该活动有其自己的生命周期,接收自己的输入事件以及可以在活动运行时添加或删除的活动(有点像可以使用的“子活动”在不同的活动中重用)。本课介绍如何Fragment使用支持库扩展课程,使您的应用程序与运行系统版本低至Android 1.6的设备保持兼容。

您应该创建一个生命周期感知组件,而不是在您的Fragment的生命周期方法中设置依赖组件。该组件可以处理您的Fragment在其生命周期中移动时所需的任何设置或拆卸。生命周期感知组件随后可以在其他片段和活动中重用,以避免重复代码,并减少您在片段/活动本身中需要执行的设置。有关更多信息,请阅读 使用生命周期感知组件处理生命周期。

在开始本课之前,您必须设置Android项目以使用支持库。如果您之前没有使用过支持库,请 按照支持库设置文档设置您的项目以使用v4库。但是,您也可以在应用程序栏中加入应用程序栏,而不是使用与Android 2.1(API级别7)兼容的 v7 appcompat库,并且还包含API。Fragment

有关实施片段的更多信息,请参阅碎片。您还可以通过探索 相关示例应用程序来了解更多信息。

创建一个片段类


要创建一个片段,请扩展Fragment该类,然后覆盖键生命周期方法以插入您的应用逻辑,这与您对Activity类的方式类似。

创建一个区别的一个不同Fragment是您必须使用 onCreateView()回调来定义布局。事实上,这是您为了获得片段运行所需的唯一回调。例如,下面是一个简单的片段,它指定了它自己的布局:

import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.ViewGroup;public class ArticleFragment extends Fragment {    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,        Bundle savedInstanceState) {        // Inflate the layout for this fragment        return inflater.inflate(R.layout.article_view, container, false);    }}

就像一个活动一样,一个片段应该实现其他生命周期回调,允许您在活动中添加或删除活动时以及活动在其生命周期状态之间转换时管理其状态。例如,当onPause()调用活动的方法时,活动中的任何片段也会收到一个调用onPause()。

有关片段生命周期和回调方法的更多信息可在Fragments开发人员指南中找到。

使用XML将片段添加到活动


虽然片段是可重用的模块化UI组件,但Fragment类的每个实例都必须与父级关联FragmentActivity。您可以通过在活动布局XML文件中定义每个片段来实现此关联。

注意: FragmentActivity是支持库中提供的一项特殊活动,用于处理API级别为11以前的系统版本上的碎片。如果您支持的最低系统版本为API级别11或更高,则可以使用常规Activity。

以下是一个布局文件示例,当设备屏幕被视为“大”(由large目录名称中的限定符指定)时,会向活动添加两个片段。

res/layout-large/news_articles.xml

提示:有关为不同屏幕尺寸创建布局的更多信息,请阅读支持不同的屏幕尺寸。

然后将布局应用于您的活动:

import android.os.Bundle;import android.support.v4.app.FragmentActivity;public class MainActivity extends FragmentActivity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.news_articles);    }}

如果您使用的是v7 appcompat库,则您的活动应该扩展AppCompatActivity,这是它的一个子类FragmentActivity。有关更多信息,请阅读添加应用栏)。

注意:通过在布局XML文件中定义片段将片段添加到活动布局时,无法在运行时删除片段。如果您计划在用户交互过程中交换片段,则必须在活动首次启动时将片段添加到活动中,如下一课所示。

Lastest Update:2018.05.08

联系我

QQ:94297366

微信打赏:

公众号推荐:

【Android必备】创建一个Fragment(8)

转载于:https://blog.51cto.com/4789781/2122338

你可能感兴趣的文章
crontab命令
查看>>
RedHat Enterprise Linux 6配置Xmanager 4
查看>>
用户需求:只能在浏览器中浏览excel文件,不允许user下载excel文件
查看>>
ruby去消费kafka的数据并灌入hbase,git项目位置
查看>>
mysql-proxy win7 下实现读写分离
查看>>
毕设问题小记——No Dialect mapping for JDBC type:-1错误
查看>>
TCP长连接与短连接的区别
查看>>
ftp+samba+quota+rsync+inotify
查看>>
php版本差异现象
查看>>
通过 U 盘启动重装 macOS 系统
查看>>
百度员工离职总结:如何做个好员工?
查看>>
苹果地图(MKmap)获得附近的信息
查看>>
Red Hat Enterprise Linux Server release 6.3下Nagios平台的搭建
查看>>
Docker 1.12 实战 (三)容器部署
查看>>
JVM系列:jinfo命令详解
查看>>
iOS开发那些事-关于性能优化–选择nib还是故事板的讨论
查看>>
你觉得当你老了以后,最后悔的会是什么?
查看>>
Android 热修复原理
查看>>
nginx,apache,mysql,php=namp配置始末
查看>>
vsftpd不支持目录软链接的解决办法
查看>>