内容纲要

底部导航栏切换Fragment进行显示

创建Fragment对象

通常会有多个Fragment用于切换

用Fragment[] fragments保存为集合

private FrameLayout frame_home;

private Fragment[] fragments;

private HomeFragment homeFragment;

private int lastfragment = 0;

显示Fragment对象

加载Fragment视图

private void initView() {

//加载Fragment

homeFragment = new HomeFragment();

//Fragments集合

fragments = new Fragment[]{homeFragment};

//加载FrameLayout布局

frame_home = (FrameLayout) findViewById(R.id.frame_home);

//设置fragment到布局

getSupportFragmentManager().beginTransaction().replace(R.id.frame_home,homeFragment).show(homeFragment).commit();

}

切换Fragment

管理多个Fragment并切换

切换到指定Fragment

//切换fragment

private void switchFragment(int lastfragment, int index) {

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

//隐藏上个Fragment

transaction.hide(fragments[lastfragment]);

if (!fragments[index].isAdded()) {

transaction.add(R.id.frame_home, fragments[index]);

}

transaction.show(fragments[index]).commitAllowingStateLoss();

}

底部导航栏点击事件监听器

//底部导航栏点击响应事件

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener

= new BottomNavigationView.OnNavigationItemSelectedListener() {

@Override

public boolean onNavigationItemSelected(@NonNull MenuItem item) {

switch (item.getItemId()) {

case R.id.nav_home:

if (lastfragment != 0) {

switchFragment(lastfragment, 0);

lastfragment = 0;

}

ToastUtil.showToast(getApplicationContext(), "点击了nav_home");

return true;

case R.id.nav_zoom:

// if (lastfragment != 1) {

// switchFragment(lastfragment, 1);

// lastfragment = 1;

// }

ToastUtil.showToast(getApplicationContext(), "点击了nav_zoom");

return true;

case R.id.nav_user:

ToastUtil.showToast(getApplicationContext(), "点击了nav_user");

return true;

default:

break;

}

return false;

}

};

android fragment 底部菜单栏,安卓开发-底部导航栏切换Fragment进行显示相关推荐

  1. Android仿微信底部菜单栏+今日头条顶部导航栏

    背景 Android应用几乎都会用到底部菜单栏,在Material Design还没有出来之前,TabHost等技术一直占主流,现在Google新sdk中提供了TabLayout类可以便捷的做出底部菜 ...

  2. Android底部导航栏切换页面填坑

    ** Android底部导航栏切换页面填坑 ** 这个效果的实现关键点就是给选项赋予两种状态,focused和normal,在主程序中用监听判断是否被选中,就给被选中的选项设focused为true, ...

  3. Android中的底部导航栏切换TabContainerView

    前言:在GitHub上看到一个框架,实现底部导航栏切换,感觉不错,就在这里总结一下. 参考:https://www.jianshu.com/p/9aaff43bbf9f https://github. ...

  4. Android 7.0 SystemUI 状态/导航栏的隐藏与显示

    平台 Android 7.1 + RK3288 概述 从Android 4.4开始支持沉浸式全屏体验,在沉浸式全屏模式下,状态栏. 虚拟按键动态隐藏,应用可以使用完整的屏幕空间,按照 Google 的 ...

  5. 钉钉导航栏分享按钮的显示/隐藏

    钉钉导航栏分享按钮的显示/隐藏 隐藏 进行钉钉开发后,打开应用时右上角会有三个小点点"-",打开之后会显示一些分享功能或者查看链接的功能,这样对于应用的安全是存在隐患的,那么如何来 ...

  6. 仿抖音短视频APP源码,顶部导航栏切换详解

    仿抖音短视频APP源码,顶部导航栏切换详解的相关代码 class DaoHangNan extends StatefulWidget //继承StatefulWidget{TabController ...

  7. 点击左侧导航栏切换右侧商品(左右联动)

    点击左侧导航栏切换右侧商品(左右联动) 菜单栏主要以 A,B,C,D等字母为主,即A,B,C,D等字母为对应该项携带的 id(id不能为汉字或纯数字). 实现该功能的思路:通过点击左侧滑栏的某一项,获 ...

  8. Tab导航栏切换的实现

    文章目录 前言 一.自定义属性 1.自定义属性的目的 2.自定义属性的操作 3.规范 二.导航栏的实现 1.静态样式 2.JS实现交互 总结 前言 Tab导航栏切换在网页场景中十分常见,本文将介绍如何 ...

  9. Axure RP 如何实现导航栏切换页面——母版

    网站的导航功能是一个网站的最基本也是最为重要的功能之一,当我们在做项目时,点击导航按钮实现跳转页面,并且每次点击跳转都会有交互,运用母版,可大量减少设计时间,实现跳转页面. 以知乎网站为例: 总结为两 ...

  10. 导航栏切换—云南旅游相册

    通过使用jQuery库来实现导航栏切换:分析如下: 1.首先建立一个就绪函数ready函数,把所有的jQuery内容都写到这个函数中. 2.选中按钮元素并绑定单击事件 3.选中img图片,通过eq() ...

最新文章

  1. scopt解析参数实例
  2. 今年尾牙我们部门拍的搞笑短片,讲述项目开发的事~
  3. 开课吧 dubbo+zookeeper
  4. java海贼王秘宝传说下载_我的世界1.7.10海贼王整合包
  5. vue源码解析:vue生命周期方法$mount方法的实现原理
  6. 数学建模最新教育数据分享及数据查询方法(数据来源:世界银行、世界数据图册、联合国教科文组织、国家统计局)
  7. 我的世界服务器登录显示motd,[信息]ColorMOTD —— 究极Motd插件,外带反压测[1.7-1.8]...
  8. 腾讯辟谣心悦3玩家“特权”;共享充电宝陷入生死危机
  9. 一步教会你如何上传资源到云服务器
  10. iOS Swift 将公历日期转换为中国农历
  11. Android Google Services Framework Google Play
  12. 让CEF支持HEVC(H.265)视频播放
  13. 软件测试项目管理系统系统描述
  14. LaTeX 写作: 算法代码排版 --latex2e范例总结
  15. 线性代数:线性方程求解、矩阵的逆、线性组合、线性独立
  16. 《面朝大海,春暖花开》(海子)
  17. 【Easyexcel】根据模板导出excel
  18. thinkphp5 ajax分页
  19. 这个时代的三个大坑,你踩过哪一个?
  20. 四种方式实现数据共享

热门文章

  1. re正则表达式7_{}
  2. 批量删除多台linux服务器文件
  3. 读JDK动态代理源码(Proxy类)
  4. SpringBoot自动装配原理解析
  5. 如何在线生成自己的短网址,可自定义域名 可统计点击数
  6. Day3-字符串-数组-正则表达式
  7. arcgis for android 学习 - (5) 在地图指定位置添加“标记“,并尝试选中它
  8. POJ 2991 Crane
  9. 对初级软件开发者的建议(1)
  10. 问题记录:模组屏调试点亮