亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果我返回,如何啟用底部導航狀態?

如果我返回,如何啟用底部導航狀態?

蝴蝶不菲 2022-06-23 19:31:12
當我按下返回鍵時,底部導航的顏色不會改變,但我的片段會改變。我想同時改變兩者。即當我回去時,片段應該隨著底部導航圖標而改變。這是我當前的代碼:MainActivity.javapublic 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 Actionprivate 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;        }    }};@Overrideprotected 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}
查看完整描述

2 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

這里是答案。使用后按和活動導航按鈕完美處理底部導航。


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;


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


    navigation = findViewById(R.id.bottom_navigation);

}


@Override

public 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);

    }

}


查看完整回答
反對 回復 2022-06-23
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

試試這個 set itemIconTint 和 itemTextColor 你特定顏色的顏色選擇器 xml


<android.support.design.widget.BottomNavigationView

            android:id="@+id/bottom_navigation"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_gravity="center"

            android:background="@color/Black"

            app:itemBackground="@color/White"

            app:itemIconTint="@color/nav_selector"

            app:itemTextColor="@color/nav_selector"

            app:menu="@menu/nav_menu" />

這是 nav_selector.xml 將此文件放在 res->color 文件夾中


<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@color/OrangeBrown" android:state_checked="true" />

    <item android:color="@color/OrangeBrown" android:state_enabled="true" android:state_pressed="true" />

    <item android:color="@color/BlackishGray" />

</selector>

如果你想點擊特定的標簽,你可以用下面的代碼做到這一點


View view = bottomNavigationView.findViewById(R.id.nav_home);

        view.performClick();


查看完整回答
反對 回復 2022-06-23
  • 2 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號