当前位置: 首页 > 软件库 > 手机/移动开发 > >

FloatingActionButton

授权协议 Apache-2.0 License
开发语言 Java
所属分类 手机/移动开发
软件类型 开源软件
地区 不详
投 递 者 申颖逸
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

WARNING! FURTHER DEVELOPMENT AND SUPPORT IS DISCONTINUED.

FloatingActionButton

Yet another implementation of Floating Action Button for Android with lots of features.

Requirements

The library requires Android API Level 14+.

Demo

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.

Screenshots

Features

  • Ripple effect on Android Lollipop devices
  • Option to set custom normal/pressed/ripple colors
  • Option to set custom shadow color and offsets
  • Option to disable shadow for buttons and (or) labels
  • Option to set custom animations
  • Option to set custom icon drawable
  • Support for normal 56dp and mini 40dp button sizes
  • Custom FloatingActionMenu icon animations
  • Option to expand menu up and down
  • Option to show labels to the left and to the right of the menu
  • Option to show circle progress on FloactinActionButton
  • Option to add button to the FloatingActionMenu programmatically
  • Option to dim the FloatinActionMenu's background
  • Option to remove all buttons from the FloatingActionMenu
  • Option to set a label for the FloatingActionMenu's button

Usage

Add 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.

Floating action button

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.

Floating action menu

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.

Changelog

Please see the Changelog page to see what's recently changed.

Credits

I used android-floating-action-button library by Jerzy Chalupski as a base for development.

License

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应该强制重新呈现,还是我错了? 我真的很感激你的帮助:)