http://developer.android.com/training/basics/fragments/creating.html
你能想到一个片段作为活动(activity)的一个模块化部分,它有它自己的生命周期,接收它自己的输入事件,并且可以在活动运行时添加或删除(有点像一个“子活动” ,你可以重复使用在不同的活动中)。本课介绍如何使用支持库来扩展片段类,以便您的应用程序仍然兼容使用系统版本低至Android 1.6的安卓设备。
在开始这一课之前,你必须设置你的Android项目来使用支持库。如果你以前没有用过支持库,按照
支持库安装文档来设置你的安卓项目来使用v4支持库。不过你可以换成v7库来在你的活动中包含操作栏,v7库兼容最低安卓版本2.1,也包括fragment API。
创建一个片段类(Fragment class)
创建一个片段时,一个区别是,你必须使用onCreateView ( )回调来定义布局。其实,这是你需要为了得到一个片段运行的唯一的回调。例如,这里有一个简单的片段,指定其自己的布局:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.ViewGroup;
publicclassArticleFragmentextendsFragment{
@Override
publicView onCreateView(LayoutInflater inflater,ViewGroup container,
Bundle savedInstanceState){
// Inflate the layout for this fragment
return inflater.inflate(R.layout.article_view, container,false);
}
}
有关片段的生命周期和回调方法的详细信息可参考片段开发人员指南。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <fragment android:name="com.example.android.fragments.HeadlinesFragment" android:id="@+id/headlines_fragment" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment android:name="com.example.android.fragments.ArticleFragment" android:id="@+id/article_fragment" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent" /> </LinearLayout>讲布局应用到你的活动中
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); } }如果你使用的是2013 APPCOMPAT库,你的活动而应该继承ActionBarActivity ,这是FragmentActivity的子类