您的位置:首页 > 移动开发 > Android开发

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

2017-09-11 10:48 1236 查看




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

1.       顶部去除ActionBar后的标题栏

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

3.       底部一个大的LinearLayout放着四个样式一样的(ImagView + TextView)的小Item

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

<?xmlversion="1.0" encoding="utf-8"?>
<LinearLayoutxmlns: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. 顶部标题栏-->
<include
android:id="@+id/show_main_title"
layout="@layout/title_layout" />
<!--2. 存放四个Fragment-->
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/whitesmoke"></FrameLayout>
<!--3. 底部的四个选项菜单-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#FFFFFF">
<!--四个部分都一样:ImageView + TextView-->
<RelativeLayout
android:id="@+id/first_layout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="vertical">
<ImageView
android: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" />
<TextView
android: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>
<RelativeLayout
android:id="@+id/second_layout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="vertical">
<ImageView
android: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" />
<TextView
android: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>
<RelativeLayout
android:id="@+id/third_layout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="vertical">
<ImageView
android: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" />
<TextView
android: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>
<RelativeLayout
android:id="@+id/fourth_layout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="vertical">
<ImageView
android: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" />
<TextView
android: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。

<?xmlversion="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns: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。

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


二、相应Fragment的实现类

接下来我们需要写四个相应的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;
/**
* 第一个页面
*/
public class FirstFragmentextends Fragment {
@Override
public View onCreateView(LayoutInflaterinflater, ViewGroup container, Bundle savedInstanceState) {
View view =inflater.inflate(R.layout.fg1, container, false);
return view;
}
}
三、最重要的MainActivity

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

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;
/**
* 主页面内容
*/
public class MainActivityextends FragmentActivity implements View.OnClickListener {
// 初始化顶部栏显示
private ImageViewtitleLeftImv;
private TextViewtitleTv;
// 定义4个Fragment对象
private FirstFragmentfg1;
private SecondFragmentfg2;
private ThirdFragmentfg3;
private FourthFragmentfg4;
// 帧布局对象,用来存放Fragment对象
private FrameLayoutframeLayout;
// 定义每个选项中的相关控件
private RelativeLayoutfirstLayout;
private RelativeLayoutsecondLayout;
private RelativeLayoutthirdLayout;
private RelativeLayoutfourthLayout;
private ImageViewfirstImage;
private ImageViewsecondImage;
private ImageViewthirdImage;
private ImageViewfourthImage;
private TextViewfirstText;
private TextViewsecondText;
private TextViewthirdText;
private TextViewfourthText;
// 定义几个颜色
private int whirt =0xFFFFFFFF;
private int gray =0xFF7597B3;
private int dark =0xff000000;
// 定义FragmentManager对象管理器
private FragmentManagerfragmentManager;
@Override
protected void onCreate(BundlesavedInstanceState) {
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(newView.OnClickListener() {
@Override
public void onClick(Viewv) {
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);
}
@Override
public void onClick(Viewv) {
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(intindex) {
FragmentTransactionfragmentTransaction = fragmentManager.beginTransaction();
clearChioce(); // 清空, 重置选项, 隐藏所有Fragment
hideFragments(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
* @paramfragmentTransaction
*/
private void hideFragments(FragmentTransactionfragmentTransaction) {
if (fg1 != null) {
fragmentTransaction.hide(fg1);
}
if (fg2 != null) {
fragmentTransaction.hide(fg2);
}
if (fg3 != null) {
fragmentTransaction.hide(fg3);
}
if (fg4 != null) {
fragmentTransaction.hide(fg4);
}
}
}
四、注意

Fragment相关类导入的时候是v4包还是app包!我们这里导入的是V4的包。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐