同一布局中的第二个浮动操作按钮上没有波纹

时间:2015-07-18 11:53:11

标签: android floating-action-button

我在一个布局文件中有两个浮动操作按钮,但只有最后一个获得了应用的涟漪效果。如果我把它们放在对面,那么它也是最后一个得到涟漪的。因此,无论它们如何放置在布局文件中,最后一个都会在触摸时产生连锁反应,而另一个则不会。 怎么会这样?是否有任何解决方案可以在两个FAB上产生连锁反应?

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab_report"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|right"
    android:layout_margin="16dp"
    android:clickable="true"
    android:src="@drawable/ic_fab_run"
    android:elevation="8dp"
    app:backgroundTint="@color/primary"
    app:rippleColor="@color/blue" />
<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab_run"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|right"
    android:layout_margin="16dp"
    android:clickable="true"
    android:src="@drawable/ic_fab_run"
    android:elevation="8dp"
    app:backgroundTint="@color/primary"
    app:rippleColor="@color/blue" />

TL; DR:布局中只有最后一个FAB获得了连锁反应,如何解决?

2 个答案:

答案 0 :(得分:4)

我不知道原因,但添加此属性解决了问题:

app:theme="@style/Base.Widget.AppCompat.ImageButton"

答案 1 :(得分:1)

我遇到了类似的问题 - 事实证明我正在为一个FAB实现一个TouchListener,并通过从侦听器回调中返回true来消耗touch事件。一旦我改变它返回false,FAB涟漪效应再次开始工作。