使用 XML 布局和片段类。在这里,我创建了一个包含 2 个片段的布局。该类使布局膨胀fragment_actionbarcompat.xml
(该代码未在此处显示,但它是一个基本布局文件)。我为包含 2 个片段的活动创建了一个布局文件。
ActionBarCompatFragment 类覆盖 onCreateView 方法以扩大其布局。这将被注入到片段标签布局中。
在您的情况下,您通常不只是添加一个 plain ListFragment
,而是扩展ListFragment
并将您的自定义代码添加到其中。这是一种更好地支持模型-视图-控制器等花哨模式的方法。片段是独立的隔间,因此您可以根据需要在活动之间重复使用它们。在大多数情况下,您的类将拥有加载片段所需数据的逻辑。
ActionBarCompatFragment.java
@Override
public final View onCreateView(LayoutInflater inflater, ViewGroup root, Bundle savedInstanceState) {
final int layoutId = R.layout.fragment_actionbarcompat;
return inflater.inflate(layoutId, root, false);
}
文件:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment
android:id="@+id/ActionBarCompatFragment"
android:layout_width="@dimen/ActionBarSize"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
class="com.packagename.app.ActionBarCompatFragment" >
<!-- Preview: layout=@layout/fragment_actionbarcompat -->
</fragment>
<fragment
android:id="@+id/ComposerFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/ActionBarCompatFragment"
class="com.packagename.app.ComposerFragment" >
<!-- Preview: layout=@layout/fragment_composer -->
</fragment>
</RelativeLayout>