<android.support.v4.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TabWidget
android:id="@+id/tabwidget_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<FrameLayout
android:id="@+id/layout_container_tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.v4.app.FragmentTabHost>
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTabHost;
import android.view.Menu;
import android.widget.TabHost.TabSpec;
public class MainActivity extends FragmentActivity {
private FragmentTabHost tabHost;
private Bundle bundle1, bundle2, bundle3, bundle4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabHost = (FragmentTabHost) findViewById(R.id.tabhost);
FragmentManager manager = getSupportFragmentManager();
tabHost.setup(this, manager, R.id.layout_container_tabcontent);
TabSpec tabSpec1 = tabHost.newTabSpec("records");
tabSpec1.setIndicator("记录");
bundle1 = new Bundle();
bundle1.putInt("tabIndex", 1);
TabSpec tabSpec2 = tabHost.newTabSpec("contacts");
tabSpec2.setIndicator("联系人");
bundle2 = new Bundle();
bundle2.putInt("tabIndex", 2);
TabSpec tabSpec3 = tabHost.newTabSpec("collections");
tabSpec3.setIndicator("收藏夹");
bundle3 = new Bundle();
bundle3.putInt("tabIndex", 3);
TabSpec tabSpec4 = tabHost.newTabSpec("groups");
tabSpec4.setIndicator("群组");
bundle4 = new Bundle();
bundle4.putInt("tabIndex", 4);
tabHost.addTab(tabSpec1, DummyFragment.class, bundle1);
tabHost.addTab(tabSpec2, DummyFragment.class, bundle2);
tabHost.addTab(tabSpec3, DummyFragment.class, bundle3);
tabHost.addTab(tabSpec4, DummyFragment.class, bundle4);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class DummyFragment extends Fragment {
private TextView text_dummyfragment;
private Bundle bundle = null;
private int tabIndex = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bundle = getArguments();
tabIndex = bundle.getInt("tabIndex");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_dummy, container, false);
text_dummyfragment = (TextView) view
.findViewById(R.id.text_dummyfragment);
Log.i("", "==" + tabIndex);
switch (tabIndex) {
case 1:
text_dummyfragment.setText("这个是记录页面");
break;
case 2:
text_dummyfragment.setText("这个是联系人页面");
break;
case 3:
text_dummyfragment.setText("这个是收藏夹页面");
break;
case 4:
text_dummyfragment.setText("这个是群组页面");
break;
default:
break;
}
return view;
}
}
分享到:
相关推荐
FragmentTabHost是Android开发中的一个组件,主要用于在Tab布局中管理多个Fragment。它结合了TabHost和Fragment的功能,使得在Android应用中实现多标签页切换并加载不同的Fragment内容变得更为简单。下面我们将深入...
FragmentTabHost是Android开发中的一个组件,主要用于在平板或大屏幕设备上实现多标签页的切换,它是在API 13引入的,用来替代传统的TabHost。在Android系统的发展过程中,随着对Fragment支持的增强,...
FragmentTabHost是Android开发中的一个组件,主要用于在同一个Activity中管理多个Fragment,并通过Tab进行切换。这个组件在处理复杂的UI布局和用户交互时非常有用,因为它允许你在不同的Tab之间分割应用的功能,提供...
在Android应用开发中,`FragmentTabHost`是一个用于在Tab布局中管理`Fragment`的类,它是`TabHost`的扩展版本,适用于Android API Level 11及以上版本。`FragmentTabHost`允许开发者在一个活动中创建多个Tab,每个...
FragmentTabHost,一个很常用的控件。初次接触时,在GOOGLE上找了一些博客,看了些例子,被复杂的结构和很多没接触过的函数弄晕了头。所以自己尝试在那些例子上简化一些,只做FragmentTabHost 最基本的界面功能
`FragmentTabHost`是Android SDK提供的一种工具,用于在Activity中创建带有多个Fragment的Tabbed界面,常用于实现底部导航栏。本文将详细介绍如何使用`FragmentTabHost`来实现Android底部导航。 首先,理解`...
在Android开发中,随着版本的更新和设计模式的演进,传统的Tabhost+Activity的方式逐渐被新的FragmentTabhost所取代。FragmentTabhost是Android Support Library的一部分,它允许开发者在一个Activity中使用多个...
在本教程中,我们将探讨如何利用`FragmentTabHost`来达到这个目的。`FragmentTabHost`是Android提供的一个用于在Tab布局中管理Fragment的组件,它允许我们在每个Tab上展示不同的Fragment内容。 ### 1. `...
FragmentTabHost是Android开发中一个用于在Tab布局中管理Fragment的组件。在Android应用程序设计中,TabHost通常用于实现多标签界面,而FragmentTabHost则是专门为配合Fragment使用而设计的,它将TabHost的功能与...
在Android开发中,`FragmentTabHost`是一个非常重要的组件,它是`TabHost`与`Fragment`结合的一个容器,用于在Activity中实现多个`Fragment`之间的切换,并且可以在顶部展示Tab标签来指示当前显示的Fragment。...
在Android开发中,`FragmentTabHost`是一个非常重要的组件,它是`TabHost`与`Fragment`结合的产物,主要用于创建带有多个Tab标签的界面,每个Tab下可以展示不同的`Fragment`内容。`FragmentTabHost`使得在Android ...
在Android应用开发中,FragmentTabHost是一个非常重要的组件,它允许开发者在单个Activity中创建多个Tab,并在每个Tab下展示不同的Fragment。FragmentTabHost结合了TabHost和Fragment的功能,使得UI设计更加灵活且...
FragmentTabHost是Android SDK中的一个组件,用于在Tab布局中管理多个Fragment。它结合了TabHost和FragmentManager的功能,使得在Android应用中实现多标签页切换并加载不同的Fragment内容变得更为简单。下面我们将...
查看了FragmentTabHost的源码,可以知道FragmentTabHost不保存状态是因为切换fragment的时候是使用detach和attach来Fragment的隐藏和显示的,这样的话每次切换肯定要重新加载布局,处理使用detach和attach,我们还...
FragmentTabHost则是Android中处理多标签页切换的一个组件,尤其是在API版本较低或者需要兼容旧版Android系统时常用。 首先,让我们详细探讨启动页面的实现。启动页面通常用来展示应用的logo或者加载必要的资源,它...
FragmentTabHost是Android开发中的一个组件,主要用于在Tab布局中管理Fragment。它是TabHost与Fragment的结合体,允许开发者在每个Tab中展示不同的Fragment内容,从而实现更灵活、功能更丰富的用户界面。...
在Android开发中,`FragmentTabHost` 是一个用于在`Fragment`中实现标签栏切换的组件,它允许我们在一个活动中管理多个`Fragment`并展示在不同的标签页下。然而,有时候我们可能会遇到一个问题:当使用`...
`FragmentTabHost`是`TabHost`的一个扩展,它引入了`Fragment`的概念,使得我们可以更方便地管理和更新各个Tab的内容。 在传统的`TabHost`中,我们通常会将每个Tab的内容区域定义为一个`Activity`,但这种方式存在...
在Android应用开发中,设计一个类似新浪微博的底部菜单栏是常见的需求,这涉及到对Fragment和FragmentTabHost的熟练运用。本文将深入解析如何利用这两个组件来实现这一功能,并提供源码示例。 Fragment是Android ...