你的位置:首页 > 操作系统

[操作系统]浅谈FloatingActionButton(悬浮按钮)


一、介绍

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

android.support.design.widget.FloatingActionButton

 

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

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

 

三、使用说明

<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属性,则需要在根容器中添加这个属性。 

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

<?"1.0" encoding="utf-8"?><selector "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(抽屉效果)