0

我想将我的布局分成两部分:广告的底部,以及应用程序的另一部分(很少有活动)。我为什么要这样做?因为我希望广告每次都出现,即使在新活动开始时也是如此。 http://i.stack.imgur.com/plVeO.png 我意识到可以用片段来做到这一点。我有几个关于fragment的问题:fragment可以举行两个活动吗?我可以有意识地开始一个片段之类的活动吗?


主要问题是如何在使用片段时将布局分开?

4

2 回答 2

2

不,片段不能有两个活动,但反之亦然 - 是的。对于带有片段的动态操作,创建 xml 文件,其中将 2 个框架,一个附加到底部,并阅读http://developer.android.com/guide/components/fragments.htmlhttp://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>
于 2013-08-23T09:23:46.593 回答
0

您可以创建一个包含广告并为内容提供可用空间的父活动,而不是继承该活动并从继承的活动中填充内容,可能会膨胀基础中的其他布局。如果您将使用多个内容布局,您也可以制作父布局并“继承”它。或者您可以使用一项活动来保存广告并将片段用于内容。

于 2013-08-23T09:21:42.133 回答