使用FragmentTabHost在PerseiLayout中滚动

时间:2016-03-10 00:45:37

标签: android scroll fragment-tab-host

我正在使用来自GithubPerseiLayout,除了我正在使用FragmentTabHost的片段之外,它在所有片段中都运行良好,其中向下滚动不会显示Persei菜单:this menu won't be showen with scrolling down

这是我的代码片段,其中包含TabHostFragment

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.the_tabhost_fragment, container, false);


    mTabHost = (FragmentTabHost)rootView.findViewById(android.R.id.tabhost);
    mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent);
    View indicator = LayoutInflater.from(getActivity()).inflate(R.layout.tab_indicator, null);
    setTabIcon(indicator,R.mipmap.icon1,"Tab1");
    mTabHost.addTab(mTabHost.newTabSpec("fragmentb").setIndicator(indicator),
            Fragment1.class, null);
    indicator = LayoutInflater.from(getActivity()).inflate(R.layout.tab_indicator, null);
    setTabIcon(indicator, R.mipmap.icon2, "Tab2");
    mTabHost.addTab(mTabHost.newTabSpec("fragmentc").setIndicator(indicator),
            Fragment2.class, null);
    indicator = LayoutInflater.from(getActivity()).inflate(R.layout.tab_indicator, null);
    setTabIcon(indicator, R.mipmap.icon3, "Tab3");
    mTabHost.addTab(mTabHost.newTabSpec("fragmentd").setIndicator(indicator),
            Fragment3.class, null);
    return rootView;
}

the_tabhost_fragment.xml代码:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <android.support.v4.app.FragmentTabHost
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <FrameLayout
        android:id="@+id/realtabcontent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

Fragment1的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="first tab !"/>
</LinearLayout>

修改: 我不知道这是否有用但我意识到当我从TextView开始滚动时向下滚动。

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的一种非常奇怪的方法,但我不相信它,基于我的编辑,我试图在布局上添加ListView,所以我的布局变成这样:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </ListView>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="first tab !"/>
</RelativeLayout>
砰!有效 ! 任何人都可以解释为什么它适用于ListView? 我希望任何人都能给我更合理的方法来解决问题!