2015-07-18 2 views
2

У меня есть две кнопки с плавающим действием в одном файле макета, но только последний получает эффект пульсации. Если я помещаю их напротив, то это также последнее, получающее пульсацию. Поэтому, независимо от того, как они помещаются в файл макета, последний получает эффект пульсации при касании, а другой - нет. Как это может быть? Есть ли какое-либо решение для получения эффекта пульсации на обоих 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 в макете получает эффект пульсации, как это решить?

+0

Это может быть полезно http://stackoverflow.com/questions/24863430/android-ls-ripple-effect-touch-feedback-for-buttons-using-xml –

+0

Кажется, что первый FAB даже не доступен для кликов. Ничего не происходит при прикосновении. – andreasj93

+0

Плохая практика - иметь более одного FAB –

ответ

4

Я не знаю причину, но добавление этого атрибута решить эту проблему:

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

у меня была аналогичная проблема - оказывается я реализует TouchListener для одного FAB, и потребляя сенсорную событие, возвращая true из обратного вызова слушателя. Как только я изменил это для возврата false, эффект пульсации FAB снова начал работать.