PHP直播平臺源碼android底部導航

1.先導包,在Gradle 加上這個:

compile ‘com.roughike:bottom-bar:2.0.2

2.menu下button_menu.xml
`

public class MainActivity extends AppCompatActivity {
    private HomeFragment mHomeFragment;
    private ChatFragment mQuestionFragment;
    private ProfileFragment mProfileFragment;
    private FragmentManager mFragmentManager;
    private FragmentTransaction mTransaction;
    private BottomBar mBottomBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mFragmentManager =  getSupportFragmentManager();
        mBottomBar = BottomBar.attach(this,savedInstanceState);
        mBottomBar.setItems(R.menu.bottombar_menu);
        mBottomBar.selectTabAtPosition(0,false);
        mBottomBar.setActiveTabColor("#002244");
        mBottomBar.setOnMenuTabClickListener(new OnMenuTabClickListener() {
            @Override
            public void onMenuTabSelected(@IdRes int menuItemId) {
                mTransaction = mFragmentManager.beginTransaction();
                hideAllFragments(mTransaction);
                if(menuItemId == R.id.navigation_tab_home){
                    showHomeFragment();
                }else if(menuItemId == R.id.navigation_tab_Question){
                    showQuesTionFragment();
                }else if(menuItemId == R.id.navigation_tab_wo){
                    showProfileFragment();
                }
                mTransaction.commit();
            }

            @Override
            public void onMenuTabReSelected(@IdRes int menuItemId) {

            }
        });
    }

3.隱藏所有的fragment,並且取消所有的底部導航欄的icon的高亮狀態

  private void hideAllFragments(FragmentTransaction transaction) {
        if (mHomeFragment != null) {
            transaction.hide(mHomeFragment);
        }
        if (mQuestionFragment != null) {
            transaction.hide(mQuestionFragment);
        }
        if (mProfileFragment != null) {
            transaction.hide(mProfileFragment);
        }
    }

    @Override
    public void onBackPressed() {
        // super.onBackPressed();   不要調用父類的方法
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addCategory(Intent.CATEGORY_HOME);
        startActivity(intent);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章