`

Android FragmentTabHost的简单使用

 
阅读更多

FragmentTabHost 实现底部android底部菜单的切换

效果图:



 布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@+id/realtabcontent"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <android.support.v4.app.FragmentTabHost
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/maintab_toolbar_bg" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp" />
    </android.support.v4.app.FragmentTabHost>

</LinearLayout>

 MainActivity:

public class MainActivity extends FragmentActivity {
	private FragmentTabHost mFragmentTabHost;
	private LayoutInflater mInflater;
	private String[] tabs = { "推荐", "仓库", "搜索", "我的" };
	private int[] drawables = { R.drawable.tab_home_btn,
			R.drawable.tab_more_btn, R.drawable.tab_square_btn,
			R.drawable.tab_selfinfo_btn };
	private Class<?>[] fragments = { HomeFragment.class, ClassisFragment.class,
			SearchFragment.class, SelfishFragment.class };
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mContext=this;
		mInflater=getLayoutInflater();
		mFragmentTabHost=(FragmentTabHost) findViewById(android.R.id.tabhost);
		mFragmentTabHost.setup(this, getSupportFragmentManager(),
				R.id.realtabcontent);
		for (int i = 0; i < fragments.length; i++) {
			mFragmentTabHost.addTab(mFragmentTabHost.newTabSpec(tabs[i])
					.setIndicator(getTabItemView(i)), fragments[i], null);

			mFragmentTabHost.getTabWidget().getChildAt(i)
					.setBackgroundResource(R.drawable.selector_tab_background);
		}
	}
	/*
	 * 为每个TabItem添加显示信息
	 */
	private View getTabItemView(int i) {
		View view = mInflater.inflate(R.layout.tab_item_view, null);
		ImageView image = (ImageView) view.findViewById(R.id.tab_item_image);
		image.setImageResource(drawables[i]);
		TextView text = (TextView) view.findViewById(R.id.tab_item_text);
		text.setText(tabs[i]);
		return view;
	}

}

 



 

  • 大小: 7 KB
分享到:
评论

相关推荐

    android FragmentTabHost使用案例

    总之,`FragmentTabHost`是Android开发中用于构建Tab布局的强大工具,它结合了`Fragment`的灵活性和`TabHost`的便利性,使得在不同尺寸的屏幕上创建多层级UI变得更加简单。理解和掌握`FragmentTabHost`的使用,对于...

    Android-FragmentTabHost的使用

    - **适配碎片化设备**:对于Android版本较低的设备,可能需要使用Support Library中的FragmentTabHost(androidx版本为`androidx.fragment.app.FragmentTabHost`)以支持Fragment。 通过以上讲解,你应该对Android...

    FragmentTabhost的使用demo

    FragmentTabhost是Android Support Library的一部分,它允许开发者在一个Activity中使用多个Fragment来创建标签页切换的效果,这使得界面更加灵活且易于管理。 **FragmentTabhost基本概念** FragmentTabhost是一个...

    Android FragmentTabHost

    7. **示例代码**:以下是一个简单的`FragmentTabHost`使用示例: ```java public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super....

    android开发fragmentTabHost类的使用

    下面是一个简单的示例代码,展示了如何使用FragmentTabHost: ```java public class MainActivity extends Activity { private FragmentTabHost mTabHost; @Override protected void onCreate(Bundle ...

    Android 使用FragmentTabhost代替Tabhost

    "Android 使用FragmentTabhost代替Tabhost" Android 使用FragmentTabhost代替Tabhost是 Android 开发中的一种常见实践。随着 Android 系统的发展,Fragment 的使用越来越广泛。Tabhost 虽然曾经是 Android 中最常用...

    FragmentTabhost简单使用

    总之,`FragmentTabHost`是Android开发中一个强大且灵活的组件,它使得在Activity中使用`Fragment`进行标签页布局变得简单,同时也提供了更丰富的交互体验。通过理解并熟练运用`FragmentTabHost`,开发者可以构建出...

    FragmentTabHost使用方法详解

    使用 FragmentTabHost 的步骤非常简单,分为以下几步: 1. 首先,我们需要在布局文件中添加一个 FragmentTabHost 组件。 2. 然后,我们需要在 Activity 中获取 FragmentTabHost 组件,并设置好 Fragment 的内容。 3...

    FragmentTabHost的使用

    它结合了TabHost和FragmentManager的功能,使得在Android应用中实现多标签页切换并加载不同的Fragment内容变得更为简单。下面我们将深入探讨FragmentTabHost的使用以及Fragment的基础知识。 ### FragmentTabHost的...

    fragmenttabhost

    - 当使用FragmentTabHost时,确保你的项目支持Android 3.0或更高版本,或者使用Android Support Library以兼容更低版本。 - 如果在FragmentTabHost中使用动态添加的Fragment,需要特别注意生命周期的管理,比如在...

    FragmentTabhost

    以下是一个简单的FragmentTabHost使用示例: ```java public class MainActivity extends FragmentActivity { private FragmentTabHost mTabHost; @Override protected void onCreate(Bundle ...

    Android 启动页面,引导页面,FragmentTabHost

    以下是一个简单的使用示例: ```java FragmentTabHost tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost); tabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent); tabHost....

    FragmentTabHost.rar

    本示例将详细介绍如何在Android项目中使用FragmentTabHost。 首先,了解FragmentTabHost的基本概念。FragmentTabHost是TabHost和FragmentManager的结合体,它允许你创建一个拥有多个Tab的界面,每个Tab都可以加载一...

    android TabHost简单使用

    但是,随着Android版本的发展,现在更多地推荐使用BottomNavigationView、FragmentTabHost或者Jetpack的NavHost等组件来构建选项卡式界面,因为它们提供了更好的API和更现代的交互体验。不过,了解TabHost的工作原理...

    Android新手入门2016(13)--FragmentTabHost实现选项卡和菜单

    在Android开发领域,FragmentTabHost是一个非常重要的组件,它允许我们在一个Activity中嵌入多个Fragment,从而实现选项卡切换的效果。对于新手来说,理解和掌握FragmentTabHost是提升应用交互体验的关键一步。这篇...

    FragmentTabHost示例

    1. 当在`FragmentTabHost`中使用`Fragment`时,确保你的项目使用的是`androidx`库,而不是旧版的`support.v4`库。 2. 为了正确处理`Fragment`的生命周期,你需要在`onSaveInstanceState`和`onRestoreInstanceState`...

    FragmentTabHost简单示例

    在XML布局中,我们可以使用`&lt;android.support.v4.app.FragmentTabHost&gt;`标签来声明一个`FragmentTabHost`。接着,我们需要设置它的`android:id`为`@android:id/tabhost`,这是`TabHost`的默认ID,然后设置它的`...

    FragmentTabHost

    在这个实践项目中,我们将深入探讨FragmentTabHost的使用方法,以及如何构建一个简单的示例应用。 FragmentTabHost允许开发者在不同的Tab之间切换,每个Tab可以包含不同的Fragment,这样就可以在一个Activity中展示...

    FragmentTabHost FrameLayout实现底部导航栏

    下面将详细介绍如何使用 FragmentTabHost 和 FrameLayout 实现底部导航栏,并提供一个简单的示例代码。 一、 FragmentTabHost 和 FrameLayout 的基本概念 FragmentTabHost 是 Android 中的一个控件,可以用来实现...

Global site tag (gtag.js) - Google Analytics