Yet another implementation of Floating Action Button for Android with lots of features.
The library requires Android API Level 14+.
Watch a short Demo Video on YouTube or try it using Android simulator in the browser on Appetize.io.
Sample APK can be found in Releases section.
56dp
and mini 40dp
button sizesFloactinActionButton
FloatingActionMenu
programmaticallyFloatinActionMenu
's backgroundFloatingActionMenu
FloatingActionMenu
's buttonAdd a dependency to your build.gradle
:
dependencies {
compile 'com.github.clans:fab:1.6.4'
}
Add the com.github.clans.fab.FloatingActionButton
to your layout XML file.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_marginBottom="8dp"
android:layout_marginRight="8dp"
android:src="@drawable/ic_menu"
fab:fab_colorNormal="@color/app_primary"
fab:fab_colorPressed="@color/app_primary_pressed"
fab:fab_colorRipple="@color/app_ripple"/>
</FrameLayout>
You can set an icon for the FloatingActionButton using android:src
xml attribute. Use drawables of size 24dp
as specified by guidlines. Icons of desired size can be generated with Android Asset Studio.
Here are all the FloatingActionButton's xml attributes with their default values which means that you don't have to set all of them:
<com.github.clans.fab.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_marginBottom="8dp"
android:layout_marginRight="8dp"
android:src="@drawable/your_icon_drawable"
app:fab_colorNormal="#DA4336"
app:fab_colorPressed="#E75043"
app:fab_colorRipple="#99FFFFFF"
app:fab_showShadow="true"
app:fab_shadowColor="#66000000"
app:fab_shadowRadius="4dp"
app:fab_shadowXOffset="1dp"
app:fab_shadowYOffset="3dp"
app:fab_size="normal"
app:fab_showAnimation="@anim/fab_scale_up"
app:fab_hideAnimation="@anim/fab_scale_down"
app:fab_label=""
app:fab_progress_color="#FF009688"
app:fab_progress_backgroundColor="#4D000000"
app:fab_progress_indeterminate="false"
app:fab_progress_max="100"
app:fab_progress="0"
app:fab_progress_showBackground="true"/>
All of these FloatingActionButton's attributes has their corresponding getters and setters. So you can set them programmatically.
Here are all the FloatingActionMenu's xml attributes with their default values which means that you don't have to set all of them:
<com.github.clans.fab.FloatingActionMenu
android:id="@+id/menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
fab:menu_fab_size="normal"
fab:menu_showShadow="true"
fab:menu_shadowColor="#66000000"
fab:menu_shadowRadius="4dp"
fab:menu_shadowXOffset="1dp"
fab:menu_shadowYOffset="3dp"
fab:menu_colorNormal="#DA4336"
fab:menu_colorPressed="#E75043"
fab:menu_colorRipple="#99FFFFFF"
fab:menu_animationDelayPerItem="50"
fab:menu_icon="@drawable/fab_add"
fab:menu_buttonSpacing="0dp"
fab:menu_labels_margin="0dp"
fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
fab:menu_labels_paddingTop="4dp"
fab:menu_labels_paddingRight="8dp"
fab:menu_labels_paddingBottom="4dp"
fab:menu_labels_paddingLeft="8dp"
fab:menu_labels_padding="8dp"
fab:menu_labels_textColor="#FFFFFF"
fab:menu_labels_textSize="14sp"
fab:menu_labels_cornerRadius="3dp"
fab:menu_labels_colorNormal="#333333"
fab:menu_labels_colorPressed="#444444"
fab:menu_labels_colorRipple="#66FFFFFF"
fab:menu_labels_showShadow="true"
fab:menu_labels_singleLine="false"
fab:menu_labels_ellipsize="none"
fab:menu_labels_maxLines="-1"
fab:menu_labels_style="@style/YourCustomLabelsStyle"
fab:menu_labels_position="left"
fab:menu_openDirection="up"
fab:menu_backgroundColor="@android:color/transparent"
fab:menu_fab_label="your_label_here"
fab:menu_fab_show_animation="@anim/my_show_animation"
fab:menu_fab_hide_animation="@anim/my_hide_animation">
<com.github.clans.fab.FloatingActionButton
android:id="@+id/menu_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_star"
fab:fab_size="mini"
fab:fab_label="Menu item 1" />
</com.github.clans.fab.FloatingActionMenu>
If you're using custom style for labels - other labels attributes will be ignored.
Labels shadow preferences depends on their corresponding FloatingActionButtons' shadow preferences.
For more usage examples check the sample project.
Please see the Changelog page to see what's recently changed.
I used android-floating-action-button library by Jerzy Chalupski as a base for development.
Copyright 2015 Dmytro Tarianyk
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
1、普通用法 1 2 3 4 5 6 floatingActionButton: FloatingActionButton( child: Icon(Icons.add), onPressed: (){ print('不要啊~'); }, ), 2、修改悬浮按钮位置 继承FloatingActionButtonLocation类,重写对应方法自定
控件简介 FloatingActionButton是Design Support库中提供的一个控件,可以帮助我们轻松的实现悬浮按钮的效果。 导入依赖 由于FloatingActionButton属于Design Support库,所以只要导入Material Design的依赖即可 implementation 'com.google.android.material:material:1
FloatingActionButton 只是一个扩展于 ImageView 的 view。 添加 Android design support library 首先,在 gradle 文件中添加如下一行以添加 Android support library: compile 'com.android.support:design:22.2.0' Step 1 在 xml 布局文件中添加 Floa
问题内容: 我昨天安装了Android Studio,在解决了多个Java和其他错误之后,出现了一个似乎无法修复的错误。我没有添加任何内容或完成任何代码,我只是刚刚开始一个新项目,并且在电话中通过预览看到了此错误: 渲染问题: 随后是一堆异常详细信息。所有的帮助表示赞赏,我越来越绝望了。另外,请具体回答复杂的问题,因为到目前为止我还不太了解。 如果需要异常详细信息: 问题答案: 我今天也遇到这个问
我有一个带有底部导航视图、浮动操作按钮和四个片段的活动。我只想在“fragment1”和“fragment2”上显示浮动操作按钮,并在选择“fragment3”或“fragment4”时将其隐藏。启动应用程序时,“fragment1”会显示为浮动操作按钮,当我导航到“fragment3”时,我设法将其隐藏起来。但问题是,当我从“fragment3”或“fragment4”导航回“fragment1
我正在处理底部导航栏,我已经替换了FloatingActionButton的onClickListener上的片段,但是如果选择了底部导航栏中的其他项目并且一次显示两个片段,则该片段不会被删除。这是我的输出 如果选择了底部导航栏中的其他项,我如何删除floatingActionButton的这个帖子片段。 这是我的activity_main.xml 这是我的MainActivity.java
我一直试图创建一个带有文本的浮动操作按钮,但我无法: 设置按钮中文本的颜色 当我把文本做得太小时,它会变得模糊。 我下面的尝试不起作用。 我可能做错了什么?
我在ScrollView中的ConstraintLayout中有一个floatingActionButton 问题是按钮随UI上下滚动 PS:我不知道这是否重要,但是scrollView在一个drawerLayout里面
下面是我试图跟踪的链接: https://github.com/makovkastar/floatingActionButton 实现这个浮动动作按钮似乎很容易,但我需要有人教我如何遵循这个指令。 把它们都放进我的包裹里? 我只需要一些初学者的指导..
我使用Google支持设计库中的官方出现了一个bug。 下面是我的app主题: 是的,我正在使用。 我注意到我使用的是较旧版本的AppCompat: 这是一个已知的bug还是可能我做错了什么?
我试图在单击时更改底部导航栏中FloatingActionButton()的图标。它工作得很好,但只有当我离开屏幕回来的时候?有人知道出什么事了吗?调用changeIcon()中的Setstate应该强制重新呈现,还是我错了? 我真的很感激你的帮助:)