浅谈FloatingActionButton(悬浮按钮)

一、介绍

这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性

android.support.design.widget.FloatingActionButton

 

二、使用准备, 在as 的 build.grade文件中写上

compile 'com.android.support:design:22.2.0'

 

三、使用说明

xml文件中,注意蓝色字体部分

复制代码
<android.support.design.widget.FloatingActionButton
        android:id="@+id/floatingActionButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        android:layout_centerInParent="true"
        android:src="@mipmap/ok"
        app:borderWidth="0dp"
        app:backgroundTint="#FF4011"
        app:rippleColor="#33728dff"
        app:elevation="8dp"
        app:pressedTranslationZ="16dp"
        />
复制代码

 可以看到我们使用了app属性,则需要在根容器中添加这个属性。 

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

 

属性介绍:

1、app:borderWidth=""------------------边框宽度,通常设置为0 ,用于解决Android 5.X设备上阴影无法正常显示的问题

2、app:backgroundTint=""---------------按钮的背景颜色,不设置,默认使用theme中colorAccent的颜色

3、app:rippleColor=""--------------------点击的边缘阴影颜色

4、app:elevation=""----------------------边缘阴影的宽度

5、app:pressedTranslationZ="16dp"-----点击按钮时,按钮边缘阴影的宽度,通常设置比elevation的数值大

 

另外我们希望点击按钮一个颜色,正常状态一个颜色 以提高用户体验,那么就是drawable文件夹中创建文件 floatbutton.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorNormal"></item>
    <item android:state_pressed="true" android:drawable="@color/colorPressed"></item>
</selector>

然后我们设置FloatActionButton的backgroud为这个drawable文件即可,同时app:backgroundTint=""属性也可以不再设置

复制代码
<android.support.design.widget.FloatingActionButton
        android:id="@+id/floatingActionButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@drawable/floatbutton"
        android:src="@mipmap/ok"
        app:borderWidth="0dp"
        app:rippleColor="#33728dff"
        app:elevation="8dp"
        app:pressedTranslationZ="16dp"
        />
复制代码

 

效果图:

-------------------------------------------------------------------------------------------------------------

其他相关:

浅谈RecyclerView(完美替代ListView,GridView)

浅谈GridLayout(网格布局)

浅谈TabLayout(ViewPager+Tab联动)

浅谈DrawerLayout(抽屉效果)

posted @   听着music睡  阅读(36325)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示