第一个item的icon设置为被选中的样式,因为默认会显示第一个item
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/navigation_item1" android:icon="@mipmap/item1_checked" android:title="item1" /> <item android:id="@+id/navigation_item2" android:icon="@mipmap/item2" android:title="item2" /> </menu>
public class MainActivity extends AppCompatActivity { private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { //未选中时加载默认的图片 refreshItemIcon(); switch (item.getItemId()) { case R.id.navigation_item1: //选中时加载选中的图片 item.setIcon(R.mipmap.item1_checked); //其他操作代码 return true; case R.id.navigation_item2: //选中时加载选中的图片 item.setIcon(R.mipmap.item2_checked); //其他操作代码 return true; } return false; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation); navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); navigation.setItemIconTintList(null); //删除默认的选中效果 } /** * 未选中时加载默认的图片 */ public void refreshItemIcon() { MenuItem item1 = navigation.getMenu().findItem(R.id.navigation_item1); daice.setIcon(R.mipmap.daiceshiti); MenuItem item2 = navigation.getMenu().findItem(R.id.navigation_item2); yice.setIcon(R.mipmap.yicejilu); } }