Square FloatingActionButton с библиотекой дизайна Android

Новая библиотека дизайна Android предоставляет android.support.design.widget.FloatingActionButton, чтобы упростить реализацию плавающей кнопки действия.

Но кнопка всегда в виде круга.

Я получил от дизайнера компании концепцию квадратной плавающей кнопки, но не могу найти ссылки на изменение фона android.support.design.widget.FloatingActionButton на квадратный фон.

Примечание. Если я использую пользовательский пользовательский рисунок, фон все еще имеет круг, например:

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_filter"
    app:layout_anchor="@+id/appbar"
    app:layout_anchorGravity="bottom|right|end" />

введите здесь описание изображения

Я пытаюсь использовать простой Button, но он, кажется, нарушает размер панели инструментов, когда она свернута:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:elevation="10dp"
    android:background="@drawable/button_filter"
    app:layout_anchor="@+id/appbar"
    app:layout_anchorGravity="bottom|right|end" />

введите здесь описание изображения

Возможно ли иметь квадратную кнопку с помощью FloatingActionButton с новой библиотекой дизайна Android?


person Deividi Cavarzan    schedule 08.06.2015    source источник


Ответы (2)


Проблема заключается в «android: background», посмотрите на шаблон ниже и обратите внимание на «app: backgroundTint», используйте его как шаблон, и он должен работать:

<android.support.design.widget.FloatingActionButton
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/your_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="@dimen/floating_button_margin_bottom"
        android:layout_marginRight="@dimen/floating_button_margin_right"
        app:elevation="@dimen/floating_button_elevation"
        app:borderWidth="0dp"
        app:rippleColor="@color/your_ripple_color"
        app:backgroundTint="@color/your_bg_color" />
person Martin Cazares    schedule 09.06.2015

Хорошо, использование атрибута app:borderWidth="0dp" в FloatingActionButton решило проблему.

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_filter"
    app:layout_anchor="@+id/appbar"
    app:borderWidth="0dp"
    app:layout_anchorGravity="bottom|right|end" />
person Deividi Cavarzan    schedule 08.06.2015