美文网首页
Android Material悬浮响应式可操作按钮Fab Sp

Android Material悬浮响应式可操作按钮Fab Sp

作者: 抬头仰望放肆的微笑v | 来源:发表于2019-03-15 12:02 被阅读0次

    介绍

    可以打开和收起菜单的浮动操作按钮,菜单item可以像标准menu那样在xml里设置,还可以定义fab的位置。

    项目地址1: https://github.com/yavski/fab-speed-dial

    项目地址2: https://github.com/kobakei/MaterialFabSpeedDial

    开始

    添加依赖

    dependencies {

    compile 'io.github.yavski:fab-speed-dial:1.0.6'

    }

    新建menu文件,然后在这里新建menu_button.xml文件

    <menu xmlns:android="http://schemas.android.com/apk/res/android"

        xmlns:app="http://schemas.android.com/apk/res-auto">

    <item

        android:id="@+id/action_call"

        android:icon="@drawable/ic_call_black_24px"

        android:title="@string/menu_item_call"

        android:orderInCategory="0"/>

    <item

        android:id="@+id/action_text"

        android:icon="@drawable/ic_chat_bubble_outline_black_24px"

        android:title="@string/menu_item_text"

        android:orderInCategory="1"/>

    <item

        android:id="@+id/action_email"

        android:icon="@drawable/ic_mail_outline_black_24px"

        android:title="@string/menu_item_email"

        android:orderInCategory="2"/>

    </menu>

    android:orderInCategory这个属性在需要给item设置背景色是需要添加,不然无法对应

    菜单文件建好之后直接在布局引用

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

        xmlns:app="http://schemas.android.com/apk/res-auto"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:padding="16dp">

    <io.github.yavski.fabspeeddial.FabSpeedDial

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="bottom|end"

            app:fabGravity="bottom_end"

            app:fabMenu="@menu/menu_main"

            app:miniFabBackgroundTint="@android:color/white"

            app:miniFabDrawableTint="?attr/colorPrimaryDark"

            app:miniFabTitleTextColor="?attr/colorPrimaryDark" />

    </FrameLayout>

    这里需要注意一下FabSpeedDial的宽高不能固定否则不显示

    属性

     app:fabMenu ="@menu/menu_main"  直接引用建好的菜单xml

    app:fabGravity ="bottom_end"  设置主按钮的位置

    app:fabDrawable="@mipmap/color_select_icon" 设置主按钮icon

    app:fabBackgroundTint="@color/black"设置按钮背景色

    app:miniFabBackgroundTintList="@array/fab_menu_item_colors" 这个比较重要引用一个color组用来设置菜单按钮的背景色

    <integer-array name="fab_menu_item_colors">

    <item>@color/color1</item>

    <item>@color/color2</item>

    <item>@color/color3</item>

    <item>@color/color4</item>

    <item>@color/color5</item>

    <item>@color/color6</item>

    </integer-array>

    这里的item数要与menu里面的item数一致

    其他属性可以借鉴github

    相关文章

      网友评论

          本文标题:Android Material悬浮响应式可操作按钮Fab Sp

          本文链接:https://www.haomeiwen.com/subject/hwhlmqtx.html