适用于 Pre-Lollipop 设备的具有弯曲背景的 Android Ripple 按钮

标签 android android-studio material-design android-support-library android-4.4-kitkat

我需要按钮的涟漪效果。目前,我正在使用 v21 目录中的 xml 为 Lollipop 和向上设备中的按钮使用波纹背景,它工作正常,但我还需要 Lollipop 前设备的波纹效果。

这是我的按钮。
[Button 1][1]

我使用了一些自定义库来获取 Lollipop 前设备的涟漪效果。例如,我使用了 com.balysv:material-ripple:1.0.2图书馆关注 how to create ripple effect for pre-lollipop .他们在那里使用this library它使用自定义 View 来包装按钮。

因此,当我将它用于 Lollipop 前的弯曲形状按钮时,结果将是这样的......

enter image description here

如您所见,波纹效果超出了按钮笔划边界。有没有办法解决这个问题?

此外,有没有办法使用 android 的默认支持库而不是使用自定义 3rd 方库来获取预 Lollipop 设备的涟漪效应?

最佳答案

不,您没有使用支持库在 pre-lollipop 上产生波纹的选项。您可以使用this库 - 易于使用。对操作系统进行检查,然后如果您必须这样做,请实现涟漪。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // set layout background as ripple_drawable
} else {
    // Implement the 3rd party library
}

关于适用于 Pre-Lollipop 设备的具有弯曲背景的 Android Ripple 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42245300/

相关文章:

android - Realm OrderedRealmCollectionChangeListener 不起作用

android - 将 AVD 设置为与物理设备相同的规范

android-studio - 如何在app gradle中添加linkedin sdk路径?

android - 如何在 Android Studio 中完全禁用 NDK 支持

android - 动态更改背景颜色 (Android)

当旧 View 返回时,Android setOnCheckedChangeListener 再次调用

android - 错误:(1,0)插件太旧,请更新到更新版本,或设置ANDROID_DAILY_OVERRIDE “e71316b1598b09073ff04c4315280c3b0e755860”

angular - 如何使用 angular5 和 angular Material 创建自定义颜色主题

android - Material Design 窗口背景

javascript - 如何设置 Angular 2 Material Design 2.0.0-beta.2