当前位置: 首页 > 知识库问答 >
问题:

晶圆厂波纹效应持续在视界之外

夏炎彬
2023-03-14

在我的所有布局中,如果用户将手指伸出FAB视图,我的FloatingActionButtons的涟漪效果将持续存在。也就是说,用户按下白色晶圆厂,波纹发生,晶圆厂变成灰色,用户将手指从按钮上拖开并举起,按钮保持灰色。

<android.support.design.widget.FloatingActionButton
            android:id="@+id/fab_pinfav"
            android:layout_width="@dimen/fab_size"
            android:layout_height="@dimen/fab_size"
            android:src="@drawable/icon_unfavd"
            app:elevation="8dp"
            android:elevation="8dp"
            android:layout_gravity="bottom|end"
            android:layout_marginRight="@dimen/spacingMedium"
            android:layout_marginEnd="@dimen/spacingMedium"/>

所有的晶圆厂都是不同的基本坐标布局的直接子代,即。

<android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

在从Android5.1到Android7.1的各种设备上测试,每个设备上都有相同的问题。

我没有在我的其他视图上看到任何类似的情况,因为它们对触摸效果有反应。

最终编辑:支持库25.1.0版本https://developer.android.com/topic/libraries/Support-library/revisions.html#修复了此bug。

共有1个答案

杜弘光
2023-03-14

我认为这是由于在Lollipop之前的版本中合并了一个修正来更正FloatingActionButton的可单击区域。如果触摸发生在内容区域之外,此修复程序将重写ontouchevent()方法以返回false。不幸的是,这会停止向视图传递任何进一步的触摸事件,因此它永远不会接收action_up,因此不会相应地更新其按下的状态。

我们应该能够通过对FloatingActionButton、重写OnTouchEvent()、检查Super调用的返回,以及在事件离开内容区域的情况下正确设置按下的状态来修复此修复。

public class CustomFAB extends FloatingActionButton {

    public CustomFAB(Context c, AttributeSet a) {
        super(c, a);
    }

    // Additional constructors as needed
    // ...

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        boolean result = super.onTouchEvent(ev);
        if (!result) {
            setPressed(false);
        }
        return result;
    }
}
 类似资料:
  • 在Android中,我想做这样的事情(但是有两种交替的颜色:黑色和白色: 像这样用波纹效果改变颜色 我试着做的是: 1)通过XML设置默认背景色和波纹色 2)在onclick方法中,将背景色改为白色,将波纹色改为黑色 有没有办法让这个看起来像第一个?比如放慢波纹动画速度之类的?

  • 我在android中使用FAB,我增加了Src图像大小来覆盖FAB,但现在每当我点击FAB时,涟漪效应会显示在图像后面,而不是上面,这不会给人一种FAB被点击的感觉 我的晶圆厂代码

  • 我想知道如何改变由'com.android.support:design:22.2.0'库提供的FAB(浮动操作按钮)小部件的图标颜色从绿色到白色。 style.xml activity_main.xml

  • 波纹效果是一个外部库,主要用于实现 Material Design 中的点击效果。 应用波纹效果 给按钮添加波纹效果,你只要将 waves-effect 类放到按钮中。如果你想这个波纹效果更白,增加 waves-effect waves-light 作为按钮的类。 <a class="waves-effect waves-light btn-large" href="#">Wave</a> 自定

  • 本文向大家介绍Android特效之水波纹的实现,包括了Android特效之水波纹的实现的使用技巧和注意事项,需要的朋友参考一下 前言 水波纹特效,想必大家或多或少见过,在我的印象中,大致有如下几种:      支付宝 "咻咻咻" 式      流量球 "荡漾" 式      真实的水波纹效果,基于Bitmap处理式 话不多说,先来看看效果: 填充式水波纹,间距相等 非填充式水波纹,间距相等 非填充