Fragment

来源:互联网 发布:红警找矿软件 编辑:程序博客网 时间:2024/06/03 22:03
<!DOCTYPE html><html><head><title>Fragment</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">/* GitHub stylesheet for MarkdownPad (http://markdownpad.com) *//* Author: Nicolas Hery - http://nicolashery.com *//* Version: b13fe65ca28d2e568c6ed5d7f06581183df8f2ff *//* Source: https://github.com/nicolahery/markdownpad-github *//* RESET=============================================================================*/html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {  margin: 0;  padding: 0;  border: 0;}/* BODY=============================================================================*/body {  font-family: Helvetica, arial, freesans, clean, sans-serif;  font-size: 14px;  line-height: 1.6;  color: #333;  background-color: #fff;  padding: 20px;  max-width: 960px;  margin: 0 auto;}body>*:first-child {  margin-top: 0 !important;}body>*:last-child {  margin-bottom: 0 !important;}/* BLOCKS=============================================================================*/p, blockquote, ul, ol, dl, table, pre {  margin: 15px 0;}/* HEADERS=============================================================================*/h1, h2, h3, h4, h5, h6 {  margin: 20px 0 10px;  padding: 0;  font-weight: bold;  -webkit-font-smoothing: antialiased;}h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {  font-size: inherit;}h1 {  font-size: 28px;  color: #000;}h2 {  font-size: 24px;  border-bottom: 1px solid #ccc;  color: #000;}h3 {  font-size: 18px;}h4 {  font-size: 16px;}h5 {  font-size: 14px;}h6 {  color: #777;  font-size: 14px;}body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {  margin-top: 0;  padding-top: 0;}a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {  margin-top: 0;  padding-top: 0;}h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {  margin-top: 10px;}/* LINKS=============================================================================*/a {  color: #4183C4;  text-decoration: none;}a:hover {  text-decoration: underline;}/* LISTS=============================================================================*/ul, ol {  padding-left: 30px;}ul li > :first-child, ol li > :first-child, ul li ul:first-of-type, ol li ol:first-of-type, ul li ol:first-of-type, ol li ul:first-of-type {  margin-top: 0px;}ul ul, ul ol, ol ol, ol ul {  margin-bottom: 0;}dl {  padding: 0;}dl dt {  font-size: 14px;  font-weight: bold;  font-style: italic;  padding: 0;  margin: 15px 0 5px;}dl dt:first-child {  padding: 0;}dl dt>:first-child {  margin-top: 0px;}dl dt>:last-child {  margin-bottom: 0px;}dl dd {  margin: 0 0 15px;  padding: 0 15px;}dl dd>:first-child {  margin-top: 0px;}dl dd>:last-child {  margin-bottom: 0px;}/* CODE=============================================================================*/pre, code, tt {  font-size: 12px;  font-family: Consolas, "Liberation Mono", Courier, monospace;}code, tt {  margin: 0 0px;  padding: 0px 0px;  white-space: nowrap;  border: 1px solid #eaeaea;  background-color: #f8f8f8;  border-radius: 3px;}pre>code {  margin: 0;  padding: 0;  white-space: pre;  border: none;  background: transparent;}pre {  background-color: #f8f8f8;  border: 1px solid #ccc;  font-size: 13px;  line-height: 19px;  overflow: auto;  padding: 6px 10px;  border-radius: 3px;}pre code, pre tt {  background-color: transparent;  border: none;}kbd {    -moz-border-bottom-colors: none;    -moz-border-left-colors: none;    -moz-border-right-colors: none;    -moz-border-top-colors: none;    background-color: #DDDDDD;    background-image: linear-gradient(#F1F1F1, #DDDDDD);    background-repeat: repeat-x;    border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;    border-image: none;    border-radius: 2px 2px 2px 2px;    border-style: solid;    border-width: 1px;    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;    line-height: 10px;    padding: 1px 4px;}/* QUOTES=============================================================================*/blockquote {  border-left: 4px solid #DDD;  padding: 0 15px;  color: #777;}blockquote>:first-child {  margin-top: 0px;}blockquote>:last-child {  margin-bottom: 0px;}/* HORIZONTAL RULES=============================================================================*/hr {  clear: both;  margin: 15px 0;  height: 0px;  overflow: hidden;  border: none;  background: transparent;  border-bottom: 4px solid #ddd;  padding: 0;}/* TABLES=============================================================================*/table th {  font-weight: bold;}table th, table td {  border: 1px solid #ccc;  padding: 6px 13px;}table tr {  border-top: 1px solid #ccc;  background-color: #fff;}table tr:nth-child(2n) {  background-color: #f8f8f8;}/* IMAGES=============================================================================*/img {  max-width: 100%}</style></head><body><h1>Fragment  android碎片化管理</h1><p>2015年12月29日 </p><hr /><h3>静态使用方式:</h3><pre><code>简单使用方式:在布局文件(XML) 中 加入fragment标签  设置宽 高 name在src文件夹中  新建一个Class文件, 继承自 Fragment  (app.fragment)重写生命周期方法 :最少重写一个  OncreateView();/** * 与Activity 绑定 */@Overridepublic void onAttach(Activity activity) {    // TODO Auto-generated method stub    super.onAttach(activity);    logI(&quot;onAttach&quot;);}// Activity 开始执行Oncerat方法@Overridepublic void onCreate(Bundle savedInstanceState) {    // TODO Auto-generated method stub    super.onCreate(savedInstanceState);    logI(&quot;onCreate&quot;);}//创建Fragment视图  通过布局填充器public View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, Bundle savedInstanceState) {    logI(&quot;onCreateView&quot;);    return inflater.inflate(R.layout.fragment1,container, false);}//绑定的Activity 的 oncreate方法 执行完毕@Overridepublic void onActivityCreated(Bundle savedInstanceState) {    super.onActivityCreated(savedInstanceState);    logI(&quot;onActivityCreated&quot;);    tv = (TextView) getView().findViewById(R.id.fragment1_tv);    tv.setText(&quot;我在运行时就被改变了&quot;);}@Overridepublic void onStart() {    // TODO Auto-generated method stub    super.onStart();    logI(&quot;onStart&quot;);}@Overridepublic void onResume() {    // TODO Auto-generated method stub    super.onResume();    logI(&quot;onResume&quot;);}@Overridepublic void onPause() {    // TODO Auto-generated method stub    super.onPause();    logI(&quot;onPause&quot;);}@Overridepublic void onStop() {    // TODO Auto-generated method stub    super.onStop();    logI(&quot;onStop&quot;);}//销毁视图@Overridepublic void onDestroyView() {    // TODO Auto-generated method stub    super.onDestroyView();    logI(&quot;onDestroyView&quot;);}//准备销毁自己@Overridepublic void onDestroy() {    // TODO Auto-generated method stub    super.onDestroy();    logI(&quot;onDestroy&quot;);}//与Activity 解除绑定@Overridepublic void onDetach() {    // TODO Auto-generated method stub    super.onDetach();    logI(&quot;onDetach&quot;);}</code></pre><h3>动态使用方式:</h3><pre><code>步骤:1.   在布局文件中 加入FrameLayout      给Fragment一个空间,  用来动态的放入Fragment    2.  在JAVA代码中 通过new 创建一个Fragment的对象    3.  开启Fragment事物         1.  在android3.0以上(使用app包下的Fragment)通过getFragmentManager().beginTransaction()开启Fragment事务        2.  在android3.0以下(使用v4包底下的fragment), 需要当前Activity继承自FragmentActivity , 然后调用getSupportFragmentManager().beginTransaction()开启Fragment事物;    4.  提交事物 beginTransaction.commit();    事物  常用方法:    //add方法:绑定一个fragment到framelayout上     两个参数 : 1.需要把参数二fragment放入哪个位置 , 2.fragment对象    .add(R.id.act_main_framelayout, frags.get(0))    remove 方法:从一个framelayout上移除一个fragment    参数一: 要移除的fragment对象    beginTransaction.remove(frags.get(0));    hede方法: 隐藏一个fragment    参数一: 要隐藏的fragment对象    beginTransaction.hide(frags.get(0));    show方法: 显示一个之前隐藏的fragment对象    参数一: 要显示的fragment    beginTransaction.show(frags.get(0));    addToBackStack方法: 将当前fragment加入回退栈    addToBackStack(null);    最常用方法:     replace(R.id.act_main_framelayout, frags.get(0));    此方法 是remove与add方法的结合 , </code></pre></body></html><!-- This document was created with MarkdownPad, the Markdown editor for Windows (http://markdownpad.com) -->
0 0
原创粉丝点击