FragmentTabHost和FragmentActivity实现应用主界面,实现应用界面的tab切换
时间: 2023-11-28 21:49:12 浏览: 68
FragmentTabHost 和 FragmentActivity 可以一起使用来实现应用主界面的 tab 切换。
首先,在布局文件中使用 FragmentTabHost,指定其布局和相应的标签:
```xml
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
```
然后在 FragmentActivity 中,创建相应的 Fragment,将其添加到 FragmentTabHost 中,并设置相应的标签:
```java
public class MainActivity extends FragmentActivity {
private FragmentTabHost mTabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTabHost = findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent);
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator("Tab 1"),
Fragment1.class, null);
mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator("Tab 2"),
Fragment2.class, null);
mTabHost.addTab(mTabHost.newTabSpec("tab3").setIndicator("Tab 3"),
Fragment3.class, null);
}
}
```
其中,Fragment1、Fragment2、Fragment3 分别为三个需要切换的 Fragment。这样就可以通过点击相应的标签来切换不同的 Fragment 了。
阅读全文