gpt4 book ai didi

android - BottomNavigationView - 阴影和波纹效果

转载 作者:可可西里 更新时间:2023-11-01 19:08:46 29 4
gpt4 key购买 nike

BottomNavigationView时我真的很开心一周前发布,但我遇到了一些无法解决的问题,比如在 BottomNavigationView 上看到阴影,就像 Google Photos Android App 向我们展示的一样:

The shadow over Bottom Navigation Bar

如果我们点击 Google 相册菜单项,我们可以看到像图标和文本颜色(选中时)一样呈蓝色的波纹效果。

实现Google提供的解决方案只是显示了一个灰色的波纹效果颜色,更糟糕的是,当我们改变bottomnavigationview的背景颜色时没有显示(design:itemBackground="...").

有人知道怎么解决吗?

最佳答案

这是我取得的成就:

Ripple effect + Elevation gif

我创建了一个 demo on GitHub来帮助你。

首先使用最新的支持库编译“com.android.support:design:$SUPPORT_VERSION”

它只有在你设置白色背景颜色时才有效 android:background="@android:color/white"

请注意 如果您使用 app:itemBackground 属性或者在您的情况下它是 design:itemBackground="...",所以只需将其删除即可。

<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@android:color/white"
app:elevation="16dp"
app:itemIconTint="@drawable/nav_item_color_state"
app:itemTextColor="@drawable/nav_item_color_state"
app:menu="@menu/bottom_navigation_main" />

处理启用/禁用状态:

您需要创建选择器文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/colorPrimary" />
<item android:color="@android:color/darker_gray" />
</selector>

如果你想改变标准的灰色波纹效果,改变 AppTheme 中的 colorControlHighlight 属性,如下所示:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorPrimaryRipple</item>
</style>

对彩色波纹使用 26% 的 alpha。

<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryRipple">#423F51B5</color>

关于android - BottomNavigationView - 阴影和波纹效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40316411/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com