web-dev-qa-db-ja.com

複数のアクションを持つFloatingActionButton

デザインサポートライブラリ(com.Android.support:design:22.2.0)のFloatingActionsButton(FAB)を使用しています。

私のアプリケーションには2つの主な機能があります。1つはX分ごとにデータを同期する(サービスを開始してX分ごとにデータを更新する)、もう1つは1回同期する(サーバーにデータを要求してUIを更新する)です。

これらの主な機能にFABを使用し、何をどのように作成できるのか疑問に思っています。

最初のアプローチは、ボタンをクリックすると機能ごとに1つずつ2つの新しいFABが表示される1つのFABを使用することです。

2番目のアプローチは、UIに常に2つのFABを表示することです。これにより、X分ごとの同期FABは、FAB後の更新よりも大きくなります。

私は最初のアプローチに興味があり、この動作をどのように実装できるのでしょうか。周りを見回しましたが、この見方は新しく、例が見つかりませんでした。

ありがとう。

7
galvan

私はこのgithubライブラリを使用しています。これは非常にシンプルで、問題を解決しました。

https://github.com/Clans/FloatingActionButton

Build.gradleに依存関係を追加します。

dependencies {
    compile 'com.github.clans:fab:1.6.4'
}

これをxmlの先頭に追加します。

xmlns:fab="http://schemas.Android.com/apk/res-auto"

次に、ボタンを追加します。例:

<com.github.clans.fab.FloatingActionMenu
    Android:id="@+id/floatingMenu"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:layout_alignParentBottom="true"
    Android:layout_alignParentRight="true"
    fab:menu_labels_ellipsize="end"
    fab:menu_labels_singleLine="true"
    fab:menu_fab_label="Cancel"
    fab:menu_backgroundColor="#ccffffff"
    fab:menu_animationDelayPerItem="0"
    fab:menu_colorNormal="#00C29F"
    fab:menu_colorPressed="#00C29F"
    fab:menu_colorRipple="#00C29F"
    Android:padding="8dp">

    <com.github.clans.fab.FloatingActionButton
        Android:id="@+id/fabEdit"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:src="@drawable/ic_edit_white"
        fab:fab_size="mini"
        fab:fab_label="Edit Category"/>

    <com.github.clans.fab.FloatingActionButton
        Android:id="@+id/fabAddProduct"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:src="@drawable/fab_add"
        fab:fab_size="mini"
        fab:fab_label="Add product"/>

    <com.github.clans.fab.FloatingActionButton
        Android:id="@+id/fabAddSubcategory"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:src="@drawable/fab_add"
        fab:fab_size="mini"
        fab:fab_label="Subcategory"/>

</com.github.clans.fab.FloatingActionMenu>
20
Duan Bressan