【发布时间】:2015-01-13 08:32:15
【问题描述】:
我目前正在创建一个使用抽屉式导航和片段的应用程序。在一个片段中,我想创建一个选项卡布局,该布局应该在片段活动中进行。我的问题是是否有替代方法可用于在片段中实现选项卡布局?提前谢谢你
【问题讨论】:
标签: android android-fragments android-tabs
我目前正在创建一个使用抽屉式导航和片段的应用程序。在一个片段中,我想创建一个选项卡布局,该布局应该在片段活动中进行。我的问题是是否有替代方法可用于在片段中实现选项卡布局?提前谢谢你
【问题讨论】:
标签: android android-fragments android-tabs
看看下面的代码:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTabHost;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class TabFragment extends Fragment {
FragmentTabHost mTabHost;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mTabHost = new FragmentTabHost(getActivity());
mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.content);
getActivity().getActionBar().setTitle("TabFragment");
mTabHost.addTab(
mTabHost.newTabSpec("First").setIndicator(
"First"), FirstFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec("Second").setIndicator("Second"),
SecondFragment.class, null);
return mTabHost;
}
@Override
public void onDestroyView() {
// TODO Auto-generated method stub
super.onDestroyView();
mTabHost = null;
}
}
这里的 R.id.content 是 FrameLayout,您可以在其中显示片段。(就像一个名为 content_frame 的布局,只有 FrameLayout 和 id 内容。)
【讨论】:
您应该能够像在正常活动中一样创建具有选项卡布局的视图。 然后为选项卡布局创建类并扩展 FragmentActivity 并实现 TabListener。在这个片段中,您只需将 tabview 膨胀到您的片段容器中,就像您对所有片段所做的那样,您应该能够完成您习惯使用 TabLayout 所做的一切。
此链接可能对您有用: Android Tab Layout inside Fragment
【讨论】: