我正在使用没有TabLayout
的片段填充ViewPager
。但是当选择一个标签时,我的片段不会显示在标签内。如果我在工具栏下面制作它的文本会显示在工具栏下方和选项卡顶部,但它从不显示在选项卡内部。这是XML。
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/toolbarColor"
android:elevation="3dp"
/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed"
android:layout_below="@+id/my_toolbar" />
<FrameLayout
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
而MainActivity
就在这里。
switch(tab.getPosition()){
case 0:
Log.i("MainActivity ", "one ");
FragmentManager fm = getSupportFragmentManager();
ft = fm.beginTransaction();
ft.replace(R.id.frame, new TodayFragment());
break;
case 1:
FragmentManager fm1 = getSupportFragmentManager();
ft = fm1.beginTransaction();
Log.i("MainActivity ", "two");
ft.replace(R.id.frame, new SettingsFragment());
}
ft.addToBackStack(null);
ft.commit();
每个Fragment
都有一个TextView
。
答案 0 :(得分:0)
首先,由于您未提供完整的xml,我认为Toolbar
,TabLayout
和FrameLayout
位于RelativeLayout
内。
现在据我所知,你可以正确地加载Fragment
,但是它们没有显示,因为它们隐藏在其他布局之下。因此,要摆脱您的问题,您需要进行这样的布局设计。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/toolbarColor"
android:elevation="3dp" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed"
android:layout_below="@+id/my_toolbar" />
<RelativeLayout
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tabs"/>
<RelativeLayout/>
只需摆脱FrameLayout
并使用RelativeLayout
作为您的片段容器,并将其放在TabLayout
下,看看它是否正常工作。
答案 1 :(得分:0)
根布局应该是线性布局不明白为什么它必须是线性布局但它的方式