我看起来像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?