FragmentTabHost和FragmentActivity实现应用主界面 要求能够实现应用界面的Tab切换
时间: 2023-12-03 15:42:30 浏览: 125
Fragment实现微信Tab主界面
FragmentTabHost和FragmentActivity是Android开发中常用的两个类。FragmentTabHost用于实现Tab切换功能,FragmentActivity用于管理Fragment。下面是一个简单的示例,演示如何使用FragmentTabHost和FragmentActivity实现应用主界面:
1. 创建Activity,继承自FragmentActivity,并在布局文件中添加FragmentTabHost组件。
2. 在Activity的onCreate方法中,初始化FragmentTabHost,设置Tab的选项卡和内容。
3. 创建多个Fragment用于不同的Tab选项卡,每个Tab选项卡对应一个Fragment。
4. 在Fragment中实现对应Tab的内容。
下面是一个示例代码:
MainActivity.java
```
public class MainActivity extends FragmentActivity {
private FragmentTabHost mTabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent);
mTabHost.addTab(mTabHost.newTabSpec("home").setIndicator("Home"),
HomeFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec("search").setIndicator("Search"),
SearchFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec("settings").setIndicator("Settings"),
SettingsFragment.class, null);
}
}
```
activity_main.xml
```
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
```
HomeFragment.java
```
public class HomeFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
// TODO: add your home fragment content here
return view;
}
}
```
fragment_home.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Home Fragment" />
</RelativeLayout>
```
SearchFragment.java和SettingsFragment.java类似于HomeFragment,分别对应Search和Settings选项卡的内容。
这样,我们就可以通过FragmentTabHost和FragmentActivity实现应用主界面的Tab切换功能了。
阅读全文