首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在CodenameOne中更改安卓圆形按钮按键

在CodenameOne中更改安卓圆形按钮按键
EN

Stack Overflow用户
提问于 2018-07-05 00:16:37
回答 3查看 80关注 0票数 2

我注意到,当使用Android (类似于galaxy S5)按下按钮时,会在按下按钮的原点创建一个圆圈,如果按住时间足够长,圆圈就会填满整个按钮。有什么方法可以覆盖这个功能,这样按下按钮就不会有这个圆圈了吗?

Example of large button

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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进行配置,该常量在原生安卓主题上当前是默认打开的。

票数 1
EN

Stack Overflow用户

发布于 2018-07-05 00:24:50

如果您正在尝试禁用按钮上的涟漪效果,请尝试添加

安卓:背景

添加到具有适当颜色的按钮上。

票数 0
EN

Stack Overflow用户

发布于 2018-07-05 00:25:40

这被称为涟漪效果,是Material Design上的标准视觉提示,用于告诉用户按钮已与之交互。

要禁用涟漪效果,可以更改背景颜色:

android:background="@color/colorAccent"

前一个是最简单的,但不推荐使用,因为这会使按钮变得扁平,不能交互。当按下时,用户看不到。

一个更好的解决方案是创建一个如下所示的可绘制文件,并将其用作背景:

bg_btn.xml

代码语言:javascript
复制
<?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"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51177700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档