我注意到,当使用Android (类似于galaxy S5)按下按钮时,会在按下按钮的原点创建一个圆圈,如果按住时间足够长,圆圈就会填满整个按钮。有什么方法可以覆盖这个功能,这样按下按钮就不会有这个圆圈了吗?
发布于 2018-07-05 05:18:25
摘自Codename One Developer Guide section 5.8.3 "Ripple effect":
材料设计中的涟漪效果突出了手指的位置,当用户按下按钮时,它会增长为一个圆圈,占据整个组件的区域。
我们有能力通过使触摸区域变暗并在快速动画中生长来执行涟漪效果。
涟漪效果可以应用于任何组件,但我们目前只在Android上的按钮上启用了它,这也适用于标题命令、侧边菜单元素等。目前这可能不适用于多按钮等主导组件,但这种情况可能会在未来发生变化。
Component
具有启用涟漪效果setRippleEffect(boolean)
和相应isRippleEffect()
的属性。您可以在组件级别单独打开或关闭它。但是,Button
有静态setButtonRippleEffectDefault(boolean)
和isButtonRippleEffectDefault()
。这些允许我们定义所有按钮的默认行为,并且可以通过主题常量buttonRippleBool
进行配置,该常量在原生安卓主题上当前是默认打开的。
发布于 2018-07-05 00:24:50
如果您正在尝试禁用按钮上的涟漪效果,请尝试添加
安卓:背景
添加到具有适当颜色的按钮上。
发布于 2018-07-05 00:25:40
这被称为涟漪效果,是Material Design上的标准视觉提示,用于告诉用户按钮已与之交互。
要禁用涟漪效果,可以更改背景颜色:
android:background="@color/colorAccent"
前一个是最简单的,但不推荐使用,因为这会使按钮变得扁平,不能交互。当按下时,用户看不到。
一个更好的解决方案是创建一个如下所示的可绘制文件,并将其用作背景:
bg_btn.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<color android:color="@color/colorAccentDark"/>
</item>
<item>
<color android:color="@color/colorAccent"/>
</item>
</selector>
然后你可以像这样使用它:
android:background="@drawable/bg_btn"
https://stackoverflow.com/questions/51177700
复制相似问题