【问题标题】:Two frame layouts in FragmentTabs example of Android Support4DemosAndroid Support4Demos 的 FragmentTabs 示例中的两个框架布局
【发布时间】:2012-09-07 13:10:28
【问题描述】:

我是 Android 中 Fragment 的新手,我指的是 Fragments 演示示例提供了 supprotv4 兼容性库。

谁能解释为什么在 Android Support4Demos 的 FragmentTabs.java 示例中有两个框架布局 (@+android:id/realtabcontent , @android:id/tabcontent)

FragmentTabs.java 调用setContentView(R.layout.fragment_tabs); 方法,下面是相同的布局文件。

fragment_tabs.xml

    <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0"
                android:orientation="horizontal" />

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:layout_weight="0" />

            <FrameLayout
                android:id="@+android:id/realtabcontent"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1" />
        </LinearLayout>

    </TabHost>

提前致谢

【问题讨论】:

    标签: android android-layout android-fragments android-framelayout


    【解决方案1】:

    通过示例后,我在FragmentsTabs.java 中发现了以下评论

     /**
     * This is a helper class that implements a generic mechanism for
     * associating fragments with the tabs in a tab host. It relies on a trick.
     * Normally a tab host has a simple API for supplying a View or Intent that
     * each tab will show. This is not sufficient for switching between
     * fragments. So instead we make the content part of the tab host 0dp high
     * (it is not shown) and the TabManager supplies its own dummy view to show
     * as the tab content. It listens to changes in tabs, and takes care of
     * switch to the correct fragment shown in a separate content area whenever
     * the selected tab changes.
     */
    

    【讨论】:

      猜你喜欢
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多