Androidfloatingactionbutton详解

Androidfloatingactionbutton是一种圆形带有图标的简易浮动按钮,通过点击它可以执行某些操作。本文将从多个方面介绍androidfloatingactionbutton的使用方法,包括布局、样式、监听事件、动画效果等。

一、布局

1、将androidfloatingactionbutton添加到布局中:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"
    app:elevation="6dp"
    app:pressedTranslationZ="12dp"
    app:layout_anchor="@id/bottomNavigationView"
    app:layout_anchorGravity="bottom|end" />

其中,app:elevation和app:pressedTranslationZ是用于设置按钮的阴影效果,在材料设计中,可视阴影是一个很重要的概念。app:layout_anchor和app:layout_anchorGravity是用于设置floating action button的位置,可以将它放置在布局的底部中心。

2、使用CoordinatorLayout布局:

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        app:theme="@style/AppTheme.AppBarOverlay">
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />
    </android.support.design.widget.AppBarLayout>
    <include layout="@layout/content_main" />
    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_add"
        app:layout_anchor="@id/content_main"
        app:layout_anchorGravity="bottom|end" />
</android.support.design.widget.CoordinatorLayout>

使用CoordinatorLayout让floating action button接管了整个页面,它可以让悬浮按钮与界面其它元素进行交互,从而实现一些令人惊讶的效果。

二、样式

1、背景颜色:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"
    android:backgroundTint="@color/colorPrimary"
    app:elevation="6dp"
    app:pressedTranslationZ="12dp"
    app:layout_anchor="@id/bottomNavigationView"
    app:layout_anchorGravity="bottom|end" />

使用android:backgroundTint属性可以设置floating action button的背景颜色。

2、图标:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"
    android:tint="@color/colorIcon"
    app:elevation="6dp"
    app:pressedTranslationZ="12dp"
    app:layout_anchor="@id/bottomNavigationView"
    app:layout_anchorGravity="bottom|end" />

使用android:tint属性可以为图标设置颜色。

三、监听事件

1、点击事件:

floatingActionButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        //在按钮被点击时执行的代码
    }
});

2、长按事件:

floatingActionButton.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View view) {
        //在按钮被长按时执行的代码
        return true;
    }
});

3、动态改变按钮图标:

floatingActionButton.setImageResource(R.drawable.ic_alarm);

4、动态改变按钮颜色:

floatingActionButton.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.colorAccent)));

四、动画效果

1、隐藏:

floatingActionButton.hide();

2、显示:

floatingActionButton.show();

3、移动:

floatingActionButton.animate().x(100).y(200).setDuration(1000);

4、缩放:

floatingActionButton.animate().scaleX(2).scaleY(2).setDuration(1000);

5、旋转:

floatingActionButton.animate().rotation(360).setDuration(1000);

五、总结

本文详细介绍了androidfloatingactionbutton的使用方法,包括布局、样式、监听事件、动画效果等。希望对读者有所帮助。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/238372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:10
下一篇 2024-12-12 12:11

相关推荐

  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • C语言贪吃蛇详解

    一、数据结构和算法 C语言贪吃蛇主要运用了以下数据结构和算法: 1. 链表 typedef struct body { int x; int y; struct body *nex…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论