实现安卓主页面代码




我们有很多页面   主页面下面会有导航栏



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 ArrayList listFragment;
    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"/>
    





你可能感兴趣的:(实现安卓主页面代码)