Я использую background = ripple для создания эффекта прессования в BottomNavigation, но в моем случае цвет MyBottomNavigation темный, поэтому кажется, что он стал невидимым из-за серого цвета эффекта ряби, есть ли другой способ исправить это?
// MainActivity.java
//BottomNavigation
BottomNavigationView mBottomNav = findViewById(R.id.Bottom_Navigation);
mBottomNav.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
Fragment selectedFragment = null;
switch(menuItem.getItemId()){
case R.id.Nav_Home:
selectedFragment = new HomePageFragment();
break;
/*case R.id.Nav_Favorites:
selectedFragment = new FavoritesPageFragment();
break;*/
/*case R.id.Nav_Favorites:
selectedFragment = new SettingPageFragment();
break;*/
case R.id.Nav_Follow:
selectedFragment = new FollowPageFragment();
break;
/*case R.id.Nav_Chat:
selectedFragment = new ChatPageFragment();
break;*/
case R.id.Nav_Profile:
selectedFragment = new ProfilePageFragment();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.Fragment_Container, selectedFragment).commit();
return true;
}
});
mBottomNav.setItemIconTintList(null);
// activity_main.xml
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/Bottom_Navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:menu="@menu/bottom_navigation"
android:backgroundTint="@color/colorBlack"
android:background="@drawable/ripple_effect_raised"
app:itemIconTint="#ffffff"
app:itemTextAppearanceActive="@style/navTextActive"
app:itemTextAppearanceInactive="@style/navTextInactive"
app:itemTextColor="#ff0000"/>
// Ripple.xml (эффект для печати)
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorWhite">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/black" />
<corners android:radius="7dp" />
</shape>
</item>
// ОБНОВЛЕНО
// Activity.xml
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/Bottom_Navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:menu="@menu/bottom_navigation"
app:itemTextAppearanceActive="@style/navTextActive"
app:itemTextAppearanceInactive="@style/navTextInactive"
app:itemIconTint="#ffffff"
app:itemTextColor="#FFFFFF"
android:background="@drawable/shape"
app:itemRippleColor="@color/bottomnav_ripple"
/>
// bottomnav_ripple.xml (я поместил его в res / color)
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selected. -->
<item android:alpha="0.68" android:color="#21FFFF" android:state_pressed="true" android:state_selected="true"/>
<item android:alpha="0.66" android:color="#21FFFF" android:state_focused="true" android:state_hovered="true" android:state_selected="true"/>
<item android:alpha="0.62" android:color="#21FFFF" android:state_focused="true" android:state_selected="true"/>
<item android:alpha="0.54" android:color="#21FFFF" android:state_hovered="true" android:state_selected="true"/>
<item android:alpha="0.50" android:color="#21FFFF" android:state_selected="true"/>
<!-- Unselected. -->
<item android:alpha="0.68" android:color="#FFFFFF" android:state_pressed="true"/>
<item android:alpha="0.66" android:color="#FFFFFF" android:state_focused="true" android:state_hovered="true"/>
<item android:alpha="0.62" android:color="#FFFFFF" android:state_focused="true"/>
<item android:alpha="0.54" android:color="#FFFFFF" android:state_hovered="true"/>
<item android:alpha="0.50" android:color="#FFFFFF"/>
// shape.xml (я поместил его в res / drawable) (цвет все еще невидим, если я использую черный цвет в shape.xml, поэтому я пытаюсь использовать фиолетовый цвет, но он все еще серый)
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/holo_purple" />
<corners android:radius="7dp" />
</shape>