Fragment实现底部功能栏

       前两周,忙忙碌碌完成了一个Android备忘录系统的课程设计。感受颇多,就想记录下来,分享给那些刚开始学习Android的小伙伴们。

       一般,刚开始做一个项目,就要考虑项目要如何做。我刚开始也一样,虽然Android的课程已经接近尾声了。但对于一个项目,始终无从下手。于是,参考了为知笔记这个APP,我打算从整体的框架动工。先是决定底部的功能栏,使用Fragment+TabHost来实现,还需要用到android-support-v4.jar这个jar包。


       效果如图所示:

package com.sise.activity;

import com.sise.activity.R;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTabHost;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TabHost.TabSpec;
import android.widget.TextView;

/*
 * @author:小琦
 * @Time:2017/5/19
 */

public class MainTabActivity extends FragmentActivity{
	//定义FragmentTabHost对象
	private FragmentTabHost mTabHost;
	
	//定义一个布局,找到Layout下xml布局文件,并且实例化
	private LayoutInflater layoutInflater;
	
	//定义数组来存放Fragment界面
	private Class fragmentArray[]={FragmentPage2.class,FragmentPage3.class,FragmentPage4.class,FragmentPage5.class};

	//定义数组来存放按钮图片
	private int mImageViewArray[]={R.drawable.tab_file_btn,R.drawable.tab_home_btn,R.drawable.tab_label_btn,R.drawable.tab_search_btn};
	
	//Tab选项卡的文字
	private String mTextviewArray[]={"文件夹","添加","搜索","设置"};
	
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main_tab_layout);
		initView();
	}

	/*
	 * 初始化组件
	 */
	private void initView() {
		//实例化布局对象
		layoutInflater=LayoutInflater.from(this);
		
		//实例化TabHost对象,得到TabHost
		mTabHost=(FragmentTabHost)findViewById(android.R.id.tabhost);
		mTabHost.setup(this,getSupportFragmentManager(),R.id.realtabcontent);
		
		//得到fragment的个数
		int count=fragmentArray.length;
		
		for(int i=0;i<count;i++)
		{
			//为每一个Tab按钮设置图标、文字和内容
			TabSpec tabSpec=mTabHost.newTabSpec(mTextviewArray[i]).setIndicator(getTabItemView(i));
			//将Tab按钮添加进Tab选项卡中
			mTabHost.addTab(tabSpec,fragmentArray[i],null);
			//设置Tab按钮的背景
			mTabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.selector_tab_background);			
		}
	}

	private View getTabItemView(int index) {
		View view=layoutInflater.inflate(R.layout.tab_item_view, null);
		ImageView imageView = (ImageView) view.findViewById(R.id.imageview);
		imageView.setImageResource(mImageViewArray[index]);
		return view;
	}
}

       然而,使用Fragment也有一些不便之处,例如

1.Fragment与Fragment之间的跳转

2.Fragment与Activity之间的跳转

3.Activity与Fragment之间的跳转

4.Edittext编辑框在Fragment无法获取焦点

       不比两个Activity之间跳转那么容易,相对而言比较复杂。虽然说Fragment也有其优点和使用方法,但对于刚入门Android的小伙伴们不建议使用Fragment。可以使用LinearLayout来完成底部功能栏的设计。


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android Studio中的Fragment底部导航是一种常见的UI设计模式,它可以让用户快速切换不同的页面或功能。在实现底部导航时,可以使用Android官方提供的BottomNavigationView控件,该控件可以方便地创建底部导航,并且支持多种样式和自定义选项。在使用BottomNavigationView时,需要创建多个Fragment,并在底部导航中添加对应的菜单项,然后在点击菜单项时切换到对应的Fragment。此外,还可以使用ViewPager和FragmentPagerAdapter来实现底部导航的滑动切换效果。总之,Android Studio提供了丰富的工具和组件来帮助开发者实现各种UI设计,包括底部导航。 ### 回答2: Android Studio中的Fragment底部导航是一种常用的界面控件,它为用户提供了方便的导航和操作方式。Fragment底部导航通常放置在屏幕最底部,可以显示多个图标,每个图标表示一个不同的功能或页面。当用户点击某个图标时,应用程序将自动显示相应的Fragment实现了快速切换不同页面的功能。 开发者可以通过使用Android Studio提供的各种控件和API,来创建并配置Fragment底部导航。其中最常见的是使用BottomNavigationView控件,它可以在布局文件中直接添加,然后在Java代码中设置监听器以响应用户点击事件,将不同的Fragment进行切换。 除了使用BottomNavigationView外,还可以通过自定义控件,实现更丰富、更灵活的底部导航。例如,可以使用Material Design组件,来创建具有动画效果、菜单弹出式选项、图标和文字等自定义特性的导航。此外,为了确保底部导航的完整性,可以考虑使用CoordinatorLayout和AppBarLayout组件,以便在不同情况下自动隐藏或显示导航。 在使用Android Studio Fragment底部导航时,需要注意一些细节。例如,在替换Fragment时,应该使用add和remove方法,或者使用replace方法,以确保UI界面的平稳过渡。另外,为避免低效率的页面切换和导航响应,建议使用AsyncTask或其他线程技术,以提高应用的性能和流畅度。 总之,Android Studio Fragment底部导航是一种非常有用的界面控件,能够极大地提升应用程序的用户体验和操作效率。通过深入了解其应用方法和技术要点,可以更好地发挥其潜力,满足用户需求,并提高应用的竞争力。 ### 回答3: Android Studio的fragment底部导航是一个非常常用的功能。它使得应用程序用户可以更加方便地切换应用程序的不同页面。在本文中,我们将介绍如何使用Android Studio创建底部导航。 要在Android Studio中创建底部导航,您需要先创建一个新项目或打开现有项目。然后,在Project视图中,右键单击app文件夹并选择New->Activity->Bottom Navigation Activity。在弹出的新窗口中,您可以选择要在Android Studio中创建的底部导航的各个页面的数量。 创建该项目后,您可以将自己的代码添加到不同的片段中,以便在底部导航中轻松导航。此外,您可以自定义底部导航来控制其中的按钮和外观,例如将标签更改为图标,将颜色更改为与应用程序配色等。 在这个过程中,您可以使用Android Studio提供的多种功能来增强您的底部导航。例如,您可以使用代码自动完成来更快地输入代码,或者使用Android Studio的布局编辑器来更轻松地在布局中添加和删除元素。 在您创建底部导航后,您可以使用Android Studio的AVD管理器在模拟器中测试它,并确保它正常工作。一旦您满意结果,您就可以将应用程序打包并发布到Google Play商店或其他应用程序市场中。 总的来说,在Android Studio中创建底部导航是非常容易的。通过使用Android Studio提供的功能和工具,您可以创建一个整洁、功能强大的应用程序,这会让您的用户更加喜欢。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值