Как изменить цвет эффекта пульсации при касании системных/нижних кнопок панели навигации в Android Studio

Я хочу изменить цвет пульсирующего эффекта фона при касании панели навигации в студии Android. Например, когда кто-то нажимает или касается кнопок панели навигации, появляются волновые эффекты. Но в моем случае это не видно, потому что цвет моей панели навигации белый, а цвет волновых эффектов (при нажатии) также белый, поэтому я хочу изменить цвет этого волнового эффекта на черный, чтобы он был виден на белой панели навигации. .

Устройство, на котором я тестирую свое приложение, имеетAndroid-8 (Oreo, API-Level 27)

Подробности моего проекта:

  • minSdkВерсия: 19
  • targetSdkВерсия: 30

2 ответа

Вы можете использоватьapp:itemRippleColorатрибут для изменения цвета волнового эффекта.

       <com.google.android.material.bottomnavigation.BottomNavigationView
      app:itemRippleColor="@color/black"
  />

Изменить: поскольку вы имели в виду нижнюю панель системы, а не нижнюю панель навигации:

внутри "styles.xml" вы должны вставить это:

(Требуемый API >= 28)

      <item name="android:windowLightNavigationBar">true</item>
<item name="android:navigationBarColor">@android:color/white</item>

«windowsLightNavigationBar» уведомляет систему о том, что приложение использует светлую панель навигации, которая, как мне кажется, меняет цвет ряби на серый (что является стандартом Android)

Если ваше приложение поддерживает версии API < 28, проверьте этот вопрос, чтобы найти другие похожие решения.

      app:itemRippleColor="@color/grey" //you can make it your color 
app:itemActiveIndicatorStyle="@android:color/transparent"
Другие вопросы по тегам