如果我返回,如何启用底部导航状态?

当我按下返回键时,底部导航的颜色不会改变,但我的片段会改变。我想同时改变两者。即当我回去时,片段应该随着底部导航图标而改变。


这是我当前的代码:


MainActivity.java


public class MainActivity extends AppCompatActivity {


private FrameLayout mMainFrame;


Fragment homeFragment = new HomeFragment();

Fragment trendingFragment = new TrendingFragment();

Fragment latestFragment = new LatestFragment();

Fragment inboxFragment= new InboxFragment();

Fragment libraryFragment = new LibraryFragment();



// Adding acion on botom navigation icon basically adding Fragment Action

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener

        = new BottomNavigationView.OnNavigationItemSelectedListener() {


    @Override

    public boolean onNavigationItemSelected(@NonNull MenuItem item) {

        switch (item.getItemId()) {

            case R.id.bottom_navigation_home:

                setFragment(homeFragment);

                return true;

            case R.id.bottom_navigation_trending:

                setFragment(trendingFragment);

                return true;

            case R.id.bottom_navigation_latest:

                setFragment(latestFragment);

                return true;

            case R.id.bottom_navigation_inbox:

                setFragment(inboxFragment);

                return true;

            case R.id.bottom_navigation_library:

                setFragment(libraryFragment);

                return true;

            default:

                return false;


        }

    }

};


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


    // Decleration Connecting Java To xml

    mMainFrame = (FrameLayout) findViewById(R.id.main_container);


    BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.bottom_navigation);

    navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

    setFragment(homeFragment); // Start Home Fregment first


}


蝴蝶不菲
浏览 160回答 2
2回答

胡子哥哥

这里是答案。使用后按和活动导航按钮完美处理底部导航。public class MainActivity extends AppCompatActivity {private Fragment homeFragment = new HomeFragment();private Fragment trendingFragment = new TrendingFragment();private Fragment latestFragment = new LatestFragment();private Fragment inboxFragment = new InboxFragment();private Fragment libraryFragment = new LibraryFragment();private BottomNavigationView navigation;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    navigation = findViewById(R.id.bottom_navigation);}@Overridepublic void onBackPressed() {    if (getSupportFragmentManager().getBackStackEntryCount() == 1) {        finish();    } else {        super.onBackPressed();        if (homeFragment.isResumed())            navigation.setSelectedItemId(R.id.bottom_navigation_home);        else if (trendingFragment.isResumed())            navigation.setSelectedItemId(R.id.bottom_navigation_trending);        else if (latestFragment.isResumed())            navigation.setSelectedItemId(R.id.bottom_navigation_latest);        else if (inboxFragment.isResumed())            navigation.setSelectedItemId(R.id.bottom_navigation_inbox);        else if (libraryFragment.isResumed())            navigation.setSelectedItemId(R.id.bottom_navigation_library);    }}

倚天杖

试试这个 set itemIconTint 和 itemTextColor 你特定颜色的颜色选择器 xml<android.support.design.widget.BottomNavigationView&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:id="@+id/bottom_navigation"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_width="match_parent"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_height="wrap_content"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:layout_gravity="center"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; android:background="@color/Black"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; app:itemBackground="@color/White"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; app:itemIconTint="@color/nav_selector"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; app:itemTextColor="@color/nav_selector"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; app:menu="@menu/nav_menu" />这是 nav_selector.xml 将此文件放在 res->color 文件夹中<selector xmlns:android="http://schemas.android.com/apk/res/android">&nbsp; &nbsp; <item android:color="@color/OrangeBrown" android:state_checked="true" />&nbsp; &nbsp; <item android:color="@color/OrangeBrown" android:state_enabled="true" android:state_pressed="true" />&nbsp; &nbsp; <item android:color="@color/BlackishGray" /></selector>如果你想点击特定的标签,你可以用下面的代码做到这一点View view = bottomNavigationView.findViewById(R.id.nav_home);&nbsp; &nbsp; &nbsp; &nbsp; view.performClick();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java