我想将我的布局分成两部分:广告的底部,以及应用程序的另一部分(很少有活动)。我为什么要这样做?因为我希望广告每次都出现,即使在新活动开始时也是如此。 http://i.stack.imgur.com/plVeO.png 我意识到可以用片段来做到这一点。我有几个关于fragment的问题:fragment可以举行两个活动吗?我可以有意识地开始一个片段之类的活动吗?
主要问题是如何在使用片段时将布局分开?
我想将我的布局分成两部分:广告的底部,以及应用程序的另一部分(很少有活动)。我为什么要这样做?因为我希望广告每次都出现,即使在新活动开始时也是如此。 http://i.stack.imgur.com/plVeO.png 我意识到可以用片段来做到这一点。我有几个关于fragment的问题:fragment可以举行两个活动吗?我可以有意识地开始一个片段之类的活动吗?
主要问题是如何在使用片段时将布局分开?
不,片段不能有两个活动,但反之亦然 - 是的。对于带有片段的动态操作,创建 xml 文件,其中将 2 个框架,一个附加到底部,并阅读http://developer.android.com/guide/components/fragments.html,http://developer.android.com /reference/android/app/FragmentManager.html , http://developer.android.com/reference/android/app/FragmentTransaction.html
尝试这个:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/frame1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
</FrameLayout>
<FrameLayout
android:id="@+id/frame2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="3" >
</FrameLayout>
</LinearLayout>
在活动中:
NewFragment fragment = new NewFragment();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.frame1, fragment);
ft.commit();
或者,xml中的静态:
<LinearLayout
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="3"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
您可以创建一个包含广告并为内容提供可用空间的父活动,而不是继承该活动并从继承的活动中填充内容,可能会膨胀基础中的其他布局。如果您将使用多个内容布局,您也可以制作父布局并“继承”它。或者您可以使用一项活动来保存广告并将片段用于内容。