Android程序开发之Fragment实现底部导航栏实例代码

Android程序开发之Fragment实现底部导航栏实例代码,第1张

概述流行的应用的导航一般分为两种,一种是底部导航,一种是侧边栏。说明IDE:AS,Androidstudio;

流行的应用的导航一般分为两种,一种是底部导航,一种是侧边栏。

说明@H_403_4@

IDE:AS,AndroID studio;
模拟器:genymotion;

实现的效果,见下图。

具体实现@H_403_4@

为了讲明白这个实现过程,我们贴出来的代码多一写,这样更方便理解 [最后还会放出完整的代码实现] 。看上图的界面做的比较粗糙,但实现过程的骨架都具有了,想要更完美的设计,之后自行完善吧 ^0^。

布局@H_403_4@

通过观察上述效果图,发现任意一个选项页面都有三部分组成:

顶部去除Actionbar后的标题栏;

中间一个FragmentLayout用来放相应的Fragment;

底部一个大的linearLayout放着四个样式一样的(ImagVIEw + TextVIEw)的小Item。

(1) 完整具体的代码,详见:show_main_lay.xml,通过注释可以看到该布局的三部分组成。

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:background="@color/colorAccent"androID:orIEntation="vertical"><!--1. 顶部标题栏--><includeandroID:ID="@+ID/show_main_Title"layout="@layout/Title_layout" /><!--2. 存放四个Fragment--><FrameLayoutandroID:ID="@+ID/content"androID:layout_wIDth="match_parent"androID:layout_height="0dp"androID:layout_weight="1"androID:background="@color/whitesmoke"></FrameLayout><!--3. 底部的四个选项菜单--><linearLayoutandroID:layout_wIDth="match_parent"androID:layout_height="60dp"androID:background="#FFFFFF"><!--四个部分都一样:ImageVIEw + TextVIEw--><relativeLayoutandroID:ID="@+ID/first_layout"androID:layout_wIDth="0dp"androID:layout_height="match_parent"androID:layout_weight="1"><linearLayoutandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:layout_centerVertical="true"androID:orIEntation="vertical"><ImageVIEwandroID:ID="@+ID/first_image"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:src="@androID:drawable/ic_menu_compass" /><TextVIEwandroID:ID="@+ID/first_text"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:layout_margintop="5dp"androID:text="消息"androID:textcolor="#7597B3" /></linearLayout></relativeLayout><relativeLayoutandroID:ID="@+ID/second_layout"androID:layout_wIDth="0dp"androID:layout_height="match_parent"androID:layout_weight="1"><linearLayoutandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:layout_centerVertical="true"androID:orIEntation="vertical"><ImageVIEwandroID:ID="@+ID/second_image"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:src="@androID:drawable/ic_menu_agenda" /><TextVIEwandroID:ID="@+ID/second_text"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:layout_margintop="5dp"androID:text="发现"androID:textcolor="#7597B3" /></linearLayout></relativeLayout><relativeLayoutandroID:ID="@+ID/third_layout"androID:layout_wIDth="0dp"androID:layout_height="match_parent"androID:layout_weight="1"><linearLayoutandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:layout_centerVertical="true"androID:orIEntation="vertical"><ImageVIEwandroID:ID="@+ID/third_image"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:src="@androID:drawable/ic_menu_edit" /><TextVIEwandroID:ID="@+ID/third_text"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:layout_margintop="5dp"androID:text="记录"androID:textcolor="#7597B3" /></linearLayout></relativeLayout><relativeLayoutandroID:ID="@+ID/fourth_layout"androID:layout_wIDth="0dp"androID:layout_height="match_parent"androID:layout_weight="1"><linearLayoutandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:layout_centerVertical="true"androID:orIEntation="vertical"><ImageVIEwandroID:ID="@+ID/fourth_image"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:src="@androID:drawable/ic_menu_myplaces" /><TextVIEwandroID:ID="@+ID/fourth_text"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:layout_margintop="5dp"androID:text="我的"androID:textcolor="#7597B3" /></linearLayout></relativeLayout></linearLayout></linearLayout>

附上源码截图吧:


(2) 对于布局的第一部分的顶部标题栏,代码请见:Title_layout.xml:

<?xml version="1.0" enCoding="utf-8"?>
<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"
androID:layout_wIDth="match_parent"
androID:layout_height="56dp"
androID:background="@color/colorPrimaryDark"
androID:orIEntation="horizontal">
<ImageVIEw
androID:ID="@+ID/Title_imv"
androID:layout_wIDth="30dp"
androID:layout_height="30dp"
androID:layout_centerVertical="true"
androID:layout_marginleft="10dp"
androID:src="@androID:drawable/ic_menu_more" />
<TextVIEw
androID:ID="@+ID/Title_text_tv"
androID:layout_wIDth="wrap_content"
androID:layout_height="wrap_content"
androID:layout_centerInParent="true"
androID:text="首 页"
androID:textSize="20sp"
androID:textcolor="@color/bg_color"/>
</relativeLayout>

见下截图:


(3) 布局中间的第二部分我们再分别建立4个.xml布局文件,分别命名为:fg1.xml、fg2.xml、fg3.xml、fg4.xml,内容上只更改一下TextVIEw中的文字说明,如第一个页面,改为第二个页面。下面只给出其中一个fg1.xml:

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:gravity="center"androID:background="@color/aquamarine"androID:orIEntation="vertical"><TextVIEwandroID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:text="第二个页面"androID:textSize="22sp"/></linearLayout>

如图:


(4) 这里也给出Values目录下的colors.xml内容吧,颜色还是比较完整的但是名字不好记:

<?xml version="1.0" enCoding="utf-8"?><resources><color name="colorPrimary">#3F51B5</color><color name="colorPrimaryDark">#303F9F</color><color name="colorAccent">#FF4081</color><color name="bg_color">#EDEDED</color><color name="contents_text">#ff000000</color><color name="encode_vIEw">#ffffffff</color><color name="help_button_vIEw">#ffcccccc</color><color name="help_vIEw">#ff404040</color><color name="possible_result_points">#c0ffff00</color><color name="result_image_border">#ffffffff</color><color name="result_minor_text">#ffc0c0c0</color><color name="result_points">#c000ff00</color><color name="result_text">#ffffffff</color><color name="result_vIEw">#b0000000</color><color name="sbc_header_text">#ff808080</color><color name="sbc_header_vIEw">#ffffffff</color><color name="sbc_List_item">#fffff0e0</color><color name="sbc_layout_vIEw">#ffffffff</color><color name="sbc_page_number_text">#ff000000</color><color name="sbc_snippet_text">#ff4b4b4b</color><color name="share_text">#ff000000</color><color name="share_vIEw">#ffffffff</color><color name="status_vIEw">#50000000</color><color name="status_text">#ffffffff</color><color name="transparent">#00000000</color><color name="vIEwfinder_frame">#ffffffff</color><color name="vIEwfinder_laser">#ffff0000</color><color name="vIEwfinder_mask">#60000000</color><color name="header">#58567D</color><color name="grgray">#686868</color><color name="white">#FFFFFF</color><!--白色 --><color name="ivory">#FFFFF0</color><!--象牙色 --><color name="lightyellow">#FFFFE0</color><!--亮黄色 --><color name="yellow">#FFFF00</color><!--黄色 --><color name="sNow">#FFFAFA</color><!--雪白色 --><color name="floralwhite">#FFFAF0</color><!--花白色 --><color name="lemonchiffon">#FFFACD</color><!--柠檬绸色 --><color name="cornsilk">#FFF8DC</color><!--米绸色 --><color name="seashell">#FFF5EE</color><!--海贝色 --><color name="lavenderblush">#FFF0F5</color><!--淡紫红 --><color name="papayawhip">#FFEFD5</color><!--番木色 --><color name="blanchedalmond">#FFEBCD</color><!--白杏色 --><color name="mistyrose">#FFE4E1</color><!--浅玫瑰色 --><color name="bisque">#FFE4C4</color><!--桔黄色 --><color name="moccasin">#FFE4B5</color><!--鹿皮色 --><color name="navajowhite">#FFDEAD</color><!--纳瓦白 --><color name="peachpuff">#FFDAB9</color><!--桃色 --><color name="gold">#FFD700</color><!--金色 --><color name="pink">#FFC0CB</color><!--粉红色 --><color name="lightpink">#FFB6C1</color><!--亮粉红色 --><color name="orange">#FFA500</color><!--橙色 --><color name="lightsalmon">#FFA07A</color><!--亮肉色 --><color name="darkorange">#FF8C00</color><!--暗桔黄色 --><color name="coral">#FF7F50</color><!--珊瑚色 --><color name="hotpink">#FF69B4</color><!--热粉红色 --><color name="tomato">#FF6347</color><!--西红柿色 --><color name="orangered">#FF4500</color><!--红橙色 --><color name="deeppink">#FF1493</color><!--深粉红色 --><color name="fuchsia">#FF00FF</color><!--紫红色 --><color name="magenta">#FF00FF</color><!--红紫色 --><color name="red">#FF0000</color><!--红色 --><color name="oldlace">#FDF5E6</color><!--老花色 --><color name="lightgoldenyellow">#FAFAD2</color><!--亮金黄色 --><color name="linen">#FAF0E6</color><!--亚麻色 --><color name="antiquewhite">#FAEBD7</color><!--古董白 --><color name="salmon">#FA8072</color><!--鲜肉色 --><color name="ghostwhite">#F8F8FF</color><!--幽灵白 --><color name="mintcream">#F5FFFA</color><!--薄荷色 --><color name="whitesmoke">#F5F5F5</color><!--烟白色 --><color name="beige">#F5F5DC</color><!--米色 --><color name="wheat">#F5DEB3</color><!--浅黄色 --><color name="sandybrown">#F4A460</color><!--沙褐色 --><color name="azure">#F0FFFF</color><!--天蓝色 --><color name="honeydew">#F0FFF0</color><!--蜜色 --><color name="aliceblue">#F0F8FF</color><!--艾利斯兰 --><color name="khaki">#F0E68C</color><!--黄褐色 --><color name="lightcoral">#F08080</color><!--亮珊瑚色 --><color name="palegoldenrod">#EEE8AA</color><!--苍麒麟色 --><color name="violet">#EE82EE</color><!--紫罗兰色 --><color name="darksalmon">#E9967A</color><!--暗肉色 --><color name="lavender">#E6E6FA</color><!--淡紫色 --><color name="lightcyan">#E0FFFF</color><!--亮青色 --><color name="burlywood">#DEB887</color><!--实木色 --><color name="plum">#DDA0DD</color><!--洋李色 --><color name="gainsboro">#DCDCDC</color><!--淡灰色 --><color name="crimson">#DC143C</color><!--暗深红色 --><color name="palevioletred">#DB7093</color><!--苍紫罗兰色--><color name="goldenrod">#DAA520</color><!--金麒麟色 --><color name="orchID">#DA70D6</color><!--淡紫色 --><color name="thistle">#D8BFD8</color><!--蓟色 --><color name="lightgray">#D3D3D3</color><!--亮灰色 --><color name="lightgrey">#D3D3D3</color><!--亮灰色 --><color name="tan">#D2B48C</color><!--茶色 --><color name="chocolate">#D2691E</color><!--巧可力色 --><color name="peru">#CD853F</color><!--秘鲁色 --><color name="indianred">#CD5C5C</color><!--印第安红 --><color name="mediumvioletred">#C71585</color><!--中紫罗兰色 --><color name="silver">#C0C0C0</color><!--银色 --><color name="darkkhaki">#BDB76B</color><!-- 暗黄褐色 --><color name="rosybrown">#BC8F8F</color><!--褐玫瑰红--><color name="mediumorchID">#BA55D3</color><!--中粉紫色 --><color name="darkgoldenrod">#B8860B</color><!--暗金黄色 --><color name="firebrick">#B22222</color><!--火砖色 --><color name="powderblue">#B0E0E6</color><!--粉蓝色 --><color name="lightsteelblue">#B0C4DE</color><!--亮钢兰色 --><color name="paleturquoise">#AFEEEE</color><!--苍宝石绿 --><color name="greenyellow">#ADFF2F</color><!--黄绿色 --><color name="lightblue">#ADD8E6</color><!--亮蓝色 --><color name="darkgray">#A9A9A9</color><!--暗灰色 --><color name="darkgrey">#A9A9A9</color><!--暗灰色 --><color name="brown">#A52A2A</color><!--褐色 --><color name="sIEnna">#A0522D</color><!--赭色 --><color name="darkorchID">#9932CC</color><!--暗紫色 --><color name="palegreen">#98FB98</color><!--苍绿色 --><color name="darkviolet">#9400D3</color><!--暗紫罗兰色 --><color name="mediumpurple">#9370DB</color><!--中紫色 --><color name="lightgreen">#90EE90</color><!--亮绿色 --><color name="darkseagreen">#8FBC8F</color><!--暗海兰色 --><color name="saddlebrown">#8B4513</color><!--重褐色 --><color name="darkmagenta">#8B008B</color><!--暗洋红 --><color name="darkred">#8B0000</color><!--暗红色 --><color name="blueviolet">#8A2BE2</color><!--紫罗兰蓝色--><color name="lightskyblue">#87CEFA</color><!--亮天蓝色--><color name="skyblue">#87CEEB</color><!--天蓝色 --><color name="gray">#808080</color><!--灰色 --><color name="grey">#808080</color><!--灰色 --><color name="olive">#808000</color><!--橄榄色 --><color name="purple">#800080</color><!--紫色 --><color name="maroon">#800000</color><!--粟色 --><color name="aquamarine">#7FFFD4</color><!--碧绿色 --><color name="chartreuse">#7FFF00</color><!--黄绿色 --><color name="lawngreen">#7CFC00</color><!--草绿色 --><color name="mediumslateblue">#7B68EE</color><!--中暗蓝色 --><color name="lightslategray">#778899</color><!--亮蓝灰 --><color name="lightslategrey">#778899</color><!--亮蓝灰 --><color name="slategray">#708090</color><!--灰石色 --><color name="slategrey">#708090</color><!--灰石色 --><color name="olivedrab">#6B8E23</color><!--深绿褐色 --><color name="slateblue">#6A5ACD</color><!--石蓝色 --><color name="dimgray">#696969</color><!--暗灰色 --><color name="dimgrey">#696969</color><!--暗灰色 --><color name="mediumaquamarine">#66cdaA</color><!--中绿色--><color name="cornflowerblue">#6495ED</color><!--菊兰色 --><color name="cadetblue">#5F9EA0</color><!--军兰色 --><color name="darkolivegreen">#556B2F</color><!--暗橄榄绿 --><color name="indigo">#4B0082</color><!--靛青色 --><color name="mediumturquoise">#48D1CC</color><!--中绿宝石--><color name="darkslateblue">#483D8B</color><!--暗灰蓝色 --><color name="steelblue">#4682B4</color><!--钢兰色 --><color name="royalblue">#4169E1</color><!--皇家蓝 --><color name="turquoise">#40E0D0</color><!--青绿色 --><color name="mediumseagreen">#3CB371</color><!--中海蓝 --><color name="limegreen">#32CD32</color><!--橙绿色 --><color name="darkslategray">#2F4F4F</color><!--暗瓦灰色 --><color name="darkslategrey">#2F4F4F</color><!--暗瓦灰色 --><color name="seagreen">#2E8B57</color><!--海绿色 --><color name="forestgreen">#228B22</color><!--森林绿 --><color name="lightseagreen">#20B2AA</color><!--亮海蓝色 --><color name="dodgerblue">#1E90FF</color><!--闪兰色 --><color name="mIDnightblue">#191970</color><!--中灰兰色 --><color name="aqua">#00FFFF</color><!--浅绿色 --><color name="cyan">#00FFFF</color><!--青色 --><color name="springgreen">#00FF7F</color><!--春绿色 --><color name="lime">#00FF00</color><!--酸橙色 --><color name="mediumspringgreen">#00FA9A</color><!--中春绿色 --><color name="darkturquoise">#00CED1</color><!--暗宝石绿 --><color name="deepskyblue">#00BFFF</color><!--深天蓝色 --><color name="darkcyan">#008B8B</color><!--暗青色 --><color name="teal">#008080</color><!--水鸭色 --><color name="green">#008000</color><!--绿色 --><color name="darkgreen">#006400</color><!--暗绿色 --><color name="blue">#0000FF</color><!--蓝色 --><color name="mediumblue">#0000CD</color><!--中兰色 --><color name="darkblue">#00008B</color><!--暗蓝色 --><color name="navy">#000080</color><!--海军色 --><color name="black">#000000</color><!--黑色 --></resources>

如图:


那么到这里我们的界面布局就基本完成了!

相应Fragment的实现类@H_403_4@

接下来我们需要写四个相应的Fragment的实现类,同样拷贝4份,改用inflate加载Fragment即可。即,包含四个差不多一样的Fragment,分别起名为:FirstFragment.java、SecondFragment.java、ThirdFragment.java、FourthFragment.java。下面主要展示一下FirstFragment.java的具体代码:

package com.example.dm.myapplication;import androID.os.Bundle;import androID.support.v4.app.Fragment;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;/*** Created by dm on 16-3-29.* 第一个页面*/public class FirstFragment extends Fragment {@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater,VIEwGroup container,Bundle savedInstanceState) {VIEw vIEw = inflater.inflate(R.layout.fg1,container,false);return vIEw;}}

如图:


最重要的MainActivity@H_403_4@

各个七零八落的小部件都已经准备到序了,现在只剩下这个主界面实现类把他们融合在一起,实现相应的效果了。

MainActivity.java 的编写也很简单,直接看代码和注释就可以了,不多解释额:主要包含几个初始化方法、选中处理、隐藏所有Fragment的方法。详见MainActivity.java:

package com.example.dm.myapplication;import androID.content.Intent;import androID.os.Bundle;import androID.support.v4.app.FragmentActivity; // 注意这里我们导入的V4的包,不要导成app的包了import androID.support.v4.app.FragmentManager;import androID.support.v4.app.FragmentTransaction;import androID.vIEw.VIEw;import androID.Widget.FrameLayout;import androID.Widget.ImageVIEw;import androID.Widget.relativeLayout;import androID.Widget.TextVIEw;/*** 主页面内容* Created by dm on 16-1-19.*/public class MainActivity extends FragmentActivity implements VIEw.OnClickListener {// 初始化顶部栏显示private ImageVIEw TitleleftImv;private TextVIEw TitleTv;// 定义4个Fragment对象private FirstFragment fg1;private SecondFragment fg2;private ThirdFragment fg3;private FourthFragment fg4;// 帧布局对象,用来存放Fragment对象private FrameLayout frameLayout;// 定义每个选项中的相关控件private relativeLayout firstLayout;private relativeLayout secondLayout;private relativeLayout thirdLayout;private relativeLayout fourthLayout;private ImageVIEw firstimage;private ImageVIEw secondImage;private ImageVIEw thirdImage;private ImageVIEw fourthImage;private TextVIEw firstText;private TextVIEw secondText;private TextVIEw thirdText;private TextVIEw fourthText;// 定义几个颜色private int whirt = 0xFFFFFFFF;private int gray = 0xFF7597B3;private int dark = 0xff000000;// 定义FragmentManager对象管理器private FragmentManager fragmentManager;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentVIEw(R.layout.show_main_lay);fragmentManager = getSupportFragmentManager();initVIEw(); // 初始化界面控件setChioceItem(0); // 初始化页面加载时显示第一个选项卡}/*** 初始化页面*/private voID initVIEw() {// 初始化页面标题栏TitleleftImv = (ImageVIEw) findVIEwByID(R.ID.Title_imv);TitleleftImv.setonClickListener(new VIEw.OnClickListener() {@OverrIDepublic voID onClick(VIEw v) {startActivity(new Intent(MainActivity.this,LoginActivity.class));}});TitleTv = (TextVIEw) findVIEwByID(R.ID.Title_text_tv);TitleTv.setText("首 页");// 初始化底部导航栏的控件firstimage = (ImageVIEw) findVIEwByID(R.ID.first_image);secondImage = (ImageVIEw) findVIEwByID(R.ID.second_image);thirdImage = (ImageVIEw) findVIEwByID(R.ID.third_image);fourthImage = (ImageVIEw) findVIEwByID(R.ID.fourth_image);firstText = (TextVIEw) findVIEwByID(R.ID.first_text);secondText = (TextVIEw) findVIEwByID(R.ID.second_text);thirdText = (TextVIEw) findVIEwByID(R.ID.third_text);fourthText = (TextVIEw) findVIEwByID(R.ID.fourth_text);firstLayout = (relativeLayout) findVIEwByID(R.ID.first_layout);secondLayout = (relativeLayout) findVIEwByID(R.ID.second_layout);thirdLayout = (relativeLayout) findVIEwByID(R.ID.third_layout);fourthLayout = (relativeLayout) findVIEwByID(R.ID.fourth_layout);firstLayout.setonClickListener(MainActivity.this);secondLayout.setonClickListener(MainActivity.this);thirdLayout.setonClickListener(MainActivity.this);fourthLayout.setonClickListener(MainActivity.this);}@OverrIDepublic voID onClick(VIEw v) {switch (v.getID()) {case R.ID.first_layout:setChioceItem(0);break;case R.ID.second_layout:setChioceItem(1);break;case R.ID.third_layout:setChioceItem(2);break;case R.ID.fourth_layout:setChioceItem(3);break;default:break;}}/*** 设置点击选项卡的事件处理** @param index 选项卡的标号:0,1,2,3*/private voID setChioceItem(int index) {FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();clearChioce(); // 清空,重置选项,隐藏所有FragmenthIDeFragments(fragmentTransaction);switch (index) {case 0:// firstimage.setimageResource(R.drawable.XXXX); 需要的话自行修改firstText.setTextcolor(dark);firstLayout.setBackgroundcolor(gray);// 如果fg1为空,则创建一个并添加到界面上if (fg1 == null) {fg1 = new FirstFragment();fragmentTransaction.add(R.ID.content,fg1);} else {// 如果不为空,则直接将它显示出来fragmentTransaction.show(fg1);}break;case 1:// secondImage.setimageResource(R.drawable.XXXX);secondText.setTextcolor(dark);secondLayout.setBackgroundcolor(gray);if (fg2 == null) {fg2 = new SecondFragment();fragmentTransaction.add(R.ID.content,fg2);} else {fragmentTransaction.show(fg2);}break;case 2:// thirdImage.setimageResource(R.drawable.XXXX);thirdText.setTextcolor(dark);thirdLayout.setBackgroundcolor(gray);if (fg3 == null) {fg3 = new ThirdFragment();fragmentTransaction.add(R.ID.content,fg3);} else {fragmentTransaction.show(fg3);}break;case 3:// fourthImage.setimageResource(R.drawable.XXXX);fourthText.setTextcolor(dark);fourthLayout.setBackgroundcolor(gray);if (fg4 == null) {fg4 = new FourthFragment();fragmentTransaction.add(R.ID.content,fg4);} else {fragmentTransaction.show(fg4);}break;}fragmentTransaction.commit(); // 提交}/*** 当选中其中一个选项卡时,其他选项卡重置为默认*/private voID clearChioce() {// firstimage.setimageResource(R.drawable.XXX);firstText.setTextcolor(gray);firstLayout.setBackgroundcolor(whirt);// secondImage.setimageResource(R.drawable.XXX);secondText.setTextcolor(gray);secondLayout.setBackgroundcolor(whirt);// thirdImage.setimageResource(R.drawable.XXX);thirdText.setTextcolor(gray);thirdLayout.setBackgroundcolor(whirt);// fourthImage.setimageResource(R.drawable.XXX);fourthText.setTextcolor(gray);fourthLayout.setBackgroundcolor(whirt);}/*** 隐藏Fragment** @param fragmentTransaction*/private voID hIDeFragments(FragmentTransaction fragmentTransaction) {if (fg1 != null) {fragmentTransaction.hIDe(fg1);}if (fg2 != null) {fragmentTransaction.hIDe(fg2);}if (fg3 != null) {fragmentTransaction.hIDe(fg3);}if (fg4 != null) {fragmentTransaction.hIDe(fg4);}}}

见图:

到这里我们的功能就基本实现了,是不是还挺简单的。

注意@H_403_4@

Fragment相关类导入的时候是v4包还是app包!我们这里导入的是V4的包,在代码的注释部分,已经给出说明;

在完整的代码包中,我们还添加了App启动界面及动画、登录界面,这两部分的内容,这里不做具体的说明,之后继续完善。

以上内容是小逼给大家分享的AndroID程序开发之Fragment实现底部导航栏实例代码,希望对大家有所帮助!

总结

以上是内存溢出为你收集整理的Android程序开发之Fragment实现底部导航栏实例代码全部内容,希望文章能够帮你解决Android程序开发之Fragment实现底部导航栏实例代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1149491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存