一、创建项目时选择BottomNavigationView
二、修改res/menu/navigation.xml
第一个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>
三、修改Activity代码
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);
}
}