Android FragmentTabHost问题

时间:2014-03-22 15:27:14

标签: android android-layout android-fragments fragment-tab-host

我看起来像Android FragmentTabHost的文档记录很差,所以我试图理解这个问题的基本内容。

1关于代码段:http://developer.android.com/reference/android/support/v4/app/FragmentTabHost.html

    import com.example.android.supportv4.R;

    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentTabHost;

    /**
     * This demonstrates how you can implement switching between the tabs of a
     * TabHost through fragments, using FragmentTabHost.
     */
    public class FragmentTabs extends FragmentActivity {
        private FragmentTabHost mTabHost;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.fragment_tabs);
            mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
            mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

            mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
                FragmentStackSupport.CountingFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
                LoaderCursorSupport.CursorLoaderListFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),
                LoaderCustomSupport.AppListFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
                LoaderThrottleSupport.ThrottledLoaderListFragment.class, null);
        }
    }

1.1它显示了添加标签的编程方法。我可以定义避免吗?我可以用XML定义所有内容:标签数量,标签,内容(链接到片段布局也是用XML定义的)?如果不是为什么,因为它看起来像是通过静态XML部分地定义应用程序布局的hack,以编程方式(虽然定义它本质上也是静态的)?

1.2此代码段是否暗示任何XML布局文件?它有官方的例子吗?

1.3假设这个代码片段暗示了一个XML布局文件:什么是真实的内容和tabcontent?我应该两个都有?为什么?它看起来像是某种黑客。

2这是使用FragmentTabHost http://maxalley.wordpress.com/2013/05/18/android-creating-a-tab-layout-with-fragmenttabhost-and-fragments/

的非官方示例

2.1为什么要将LinearLayout放在android.support.v4.app.FragmentTabHost中?是否有官方文件解释?

2.2为什么LinearLayout只包含一个FrameLayout,而不是像Android FragmentTabHost - Not fully baked yet?这样的两个?为什么我们不需要@ + id / realtabcontent和@android:id / tabs?

0 个答案:

没有答案