我们有很多页面 主页面下面会有导航栏
import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.view.Window; import android.view.WindowManager; import android.widget.RadioButton; import android.widget.RadioGroup; import com.example.xue.shoppingyuan.MainActivity; import com.example.xue.shoppingyuan.R; import java.util.ArrayList; public class Homepage extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener { private RadioGroup rg; private RadioButton[] rbArray; private ArrayListlistFragment; private FragmentManager fm; private int count = 0; private RadioButton rb_1,rb_2,rb_3,rb_4,rb_5; private static Homepage homepage = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //隐藏标题栏 supportRequestWindowFeature(Window.FEATURE_NO_TITLE); //隐藏状态栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_homepage2); homepage = this; rb_1 = (RadioButton) findViewById(R.id.rb_btn_1); rb_2 = (RadioButton) findViewById(R.id.rb_btn_2); rb_3 = (RadioButton) findViewById(R.id.rb_btn_3); rb_4 = (RadioButton) findViewById(R.id.rb_btn_4); rb_5 = (RadioButton) findViewById(R.id.rb_btn_5); initView(); } /** * 判断下面导航栏是否为点击状态,如果不是点击的时候就实现换图,如果是就不变 * @param id */ private void showFragment(int id) { FragmentTransaction tt = fm.beginTransaction(); for (int i = 0; i <rg.getChildCount() ; i++) { if(rbArray[i].getId() == id){ if(listFragment.get(i).isAdded()){ tt.show(listFragment.get(i)).hide(listFragment.get(count)).commit(); }else { tt.add(R.id.ly,listFragment.get(i)).hide(listFragment.get(count)).commit(); } count = i; } } } public static Homepage AAA() { return homepage; } private void initView() { fm = getSupportFragmentManager(); rg = (RadioGroup) findViewById(R.id.rg); rbArray = new RadioButton[rg.getChildCount()]; for (int i = 0 ; i < rg.getChildCount() ; i++) { rbArray[i] = (RadioButton) rg.getChildAt(i); } listFragment = new ArrayList<>(); Fragment_a fragment_a = new Fragment_a(); Fragment_b fragment_b = new Fragment_b(); Fragment_c fragment_c = new Fragment_c(); Fragment_d fragment_d = new Fragment_d(); Fragment_e fragment_e = new Fragment_e(); listFragment.add(fragment_a); listFragment.add(fragment_b); listFragment.add(fragment_c); listFragment.add(fragment_d); listFragment.add(fragment_e); FragmentTransaction tt = fm.beginTransaction(); tt.add(R.id.ly,listFragment.get(0)); tt.commit(); rbArray[0].setChecked(true); rg.setOnCheckedChangeListener(this); } /** * 给主页面导航栏下面字体和图片设置换图功能和字体变颜色功能 * @param group * @param checkedId */ @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_btn_1: showFragment(checkedId); rb_1.setTextColor(getResources().getColor(R.color.colorAccent)); rb_2.setTextColor(getResources().getColor(R.color.colorb)); rb_3.setTextColor(getResources().getColor(R.color.colorb)); rb_4.setTextColor(getResources().getColor(R.color.colorb)); rb_5.setTextColor(getResources().getColor(R.color.colorb)); break; case R.id.rb_btn_2: showFragment(checkedId); rb_1.setTextColor(getResources().getColor(R.color.colorb)); rb_2.setTextColor(getResources().getColor(R.color.colorAccent)); rb_3.setTextColor(getResources().getColor(R.color.colorb)); rb_4.setTextColor(getResources().getColor(R.color.colorb)); rb_5.setTextColor(getResources().getColor(R.color.colorb)); break; case R.id.rb_btn_3: showFragment(checkedId); rb_1.setTextColor(getResources().getColor(R.color.colorb)); rb_2.setTextColor(getResources().getColor(R.color.colorb)); rb_3.setTextColor(getResources().getColor(R.color.colorAccent)); rb_4.setTextColor(getResources().getColor(R.color.colorb)); rb_5.setTextColor(getResources().getColor(R.color.colorb)); break; case R.id.rb_btn_4: showFragment(checkedId); rb_1.setTextColor(getResources().getColor(R.color.colorb)); rb_2.setTextColor(getResources().getColor(R.color.colorb)); rb_3.setTextColor(getResources().getColor(R.color.colorb)); rb_4.setTextColor(getResources().getColor(R.color.colorAccent)); rb_5.setTextColor(getResources().getColor(R.color.colorb)); break; case R.id.rb_btn_5: showFragment(checkedId); rb_1.setTextColor(getResources().getColor(R.color.colorb)); rb_2.setTextColor(getResources().getColor(R.color.colorb)); rb_3.setTextColor(getResources().getColor(R.color.colorb)); rb_4.setTextColor(getResources().getColor(R.color.colorb)); rb_5.setTextColor(getResources().getColor(R.color.colorAccent)); break; } } }
这就是主页面下面导航栏代码
其中xml文件
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_homepage2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.xue.shoppingyuan.homepage.Homepage">
android:id="@+id/ly"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
android:id="@+id/rg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#fff">
android:id="@+id/rb_btn_1"
android:layout_width="0dp"
android:layout_weight="1"
android:drawableTop="@drawable/rb_1"
android:layout_height="wrap_content"
android:button="@null"
android:text="新品"
android:textColor="@color/colorAccent"
android:gravity="center"/>
android:id="@+id/rb_btn_2"
android:layout_width="0dp"
android:layout_weight="1"
android:drawableTop="@drawable/rb_2"
android:layout_height="wrap_content"
android:button="@null"
android:text="精选"
android:gravity="center"/>
android:id="@+id/rb_btn_3"
android:layout_width="0dp"
android:layout_weight="1"
android:drawableTop="@drawable/rb_3"
android:layout_height="wrap_content"
android:button="@null"
android:text="分类"
android:gravity="center"/>
android:id="@+id/rb_btn_4"
android:layout_width="0dp"
android:layout_weight="1"
android:drawableTop="@drawable/rb_4"
android:layout_height="wrap_content"
android:button="@null"
android:text="我的衣橱"
android:gravity="center"/>
android:id="@+id/rb_btn_5"
android:layout_width="0dp"
android:layout_weight="1"
android:drawableTop="@drawable/rb_5"
android:layout_height="wrap_content"
android:button="@null"
android:text="个人中心"
android:gravity="center"/>